您能告诉我减少嵌套循环中公式计算时间的最佳方法是什么吗?我有这样的代码:
for k in range(0, 130):
for i in range(0, 1600):
array2[i,k] = 0
for j in range(0, 1600):
array2[i,k] = array2[i,k] + constant_value * (array1[j,k] * function1(i - j))
Array1 和 array2 包含双精度数。该代码块将在 15-20 分钟内执行。问题在于该块嵌套在另一个具有 100 到 400 次迭代的循环中,因此有时需要超过 24 小时才能计算。有没有办法加快这段代码的速度?
convolve()
来自 numpy
import numpy as np
for k in range(130):
array2[:, k] = np.convolve(array1[:, k], np.ones(1600), mode='same') * constant_value