有没有办法对其进行矢量化?
waveheight=zeros(10000)
for t in range(10000):
for j in range(N_frequencysteps):
waveheight[t] = waveheight[t] + (Abs_S_newwave[j] * cos (K[j] * x - (omega[j] * ((t*0.01) - TimeShift)) + TSi_omega[j] + arg_S_newwave[j]))
最佳答案
waveheight = (Abs_S_newwave[:,None] * cos(K[:,None] * x - (omega[:,None] * ((arange(10000)[None,:]*0.01) - TimeShift)) + TSi_omega[:,None] + arg_S_newwave[:,None])).sum(axis=0)
如果长度为 N_frequencysteps
的所有数组都是一维 numpy 数组,则此方法有效。
关于python - 在 Numpy 中向量化 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8505045/