用numpy重写循环以提高执行速度

问题描述 投票:0回答:1

我正在编写一个函数,该函数接受长度为200的numpy数组a和大小为200 x 200的矩阵M,并执行以下操作:

for i in range(len(a)):
    x = a[i]
    for j in range(len(a)):
        y = a[j]
        z = M[i][j]
        d[i][j] = 2 * x/(y+z)
return d

我如何矢量化这段代码以提高运行时间?

python-3.x numpy
1个回答
0
投票

您可以做类似的事情

d = 2*numpy.atleast_2d(a).T/(a+M)
© www.soinside.com 2019 - 2024. All rights reserved.