python中math.atan2()函数的矢量化示例

时间:2017-07-27 01:21:39

标签: python numpy math vectorization trigonometry

让我们说我有一个大小为A的numpy矩阵Nx2。我正在做的是计算第一列和第二列的四象限反正切,如下所示:

import math
for i in xrange(A.shape[0]):
  phase[i] = math.atan2(A[i,0], A[i,1])
然而,我想以矢量化的方式做到这一点。我怎样才能做到这一点? math.atan2()函数似乎不支持向量化。

谢谢!

1 个答案:

答案 0 :(得分:6)

在我看来它应该只是:

 user.Sid.Translate(typeof(System.Security.Principal.NTAccount)).ToString()

或者可能(如果import numpy as np phase = np.arctan2(A[:, 0], A[:, 1]) 的长度与phase不同,原因有些奇怪):

A

换句话说,不要使用phase[:len(A)] = np.arctan2(A[:, 0], A[:, 1]) ,请使用math.atan2,因为numpy函数通常是其numpy.arctan2对应项的矢量化版本。