python - 在 Numpy 中向量化 for 循环

标签 python multidimensional-array numpy

有没有办法对其进行矢量化?

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/

相关文章:

Javascript字符串到多维数字数组

python - 灰度框架上的 numpy.where(),索引错误?

python - Python 和 IP 摄像机的问题

Python - MySQL 语法错误

python - 页面请求未完全加载

arrays - R 在多维数组中设置子集和赋值

python - 如何找到旋转图像边界框的新坐标以修改其xml文件以进行Tensorflow数据增强?

c++ - 将 int[5][5] 类型的变量传递给需要 int** 的函数

python - 根据时间范围对 pandas df 进行子集化

python - 如何将 ndarray 转换为 scipy 中的矩阵?