有没有一种方法可以加快双重循环的速度,以便从上一次迭代中更新其值?
代码示例:
def calc(N, m):
x = 1.0
y = 2.0
container = np.zeros((N, 2))
for i in range(N):
for j in range(m):
x=np.random.gamma(3,1.0/(y*y+4))
y=np.random.normal(1.0/(x+1),1.0/sqrt(x+1))
container[i, 0] = x
container[i, 1] = y
return container
calc(10, 5)
正如你所看到的,内循环在更新变量x和y的同时,外循环每次以不同的x值开始。我认为这不能进行向量化处理,但也许有其他可能的改进方法。
谢谢!