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

python中math.atan2()函数的矢量化示例,python,numpy,math,vectorization,trigonometry,Python,Numpy,Math,Vectorization,Trigonometry,假设我有一个numpy矩阵a,大小为Nx2。我要做的是计算第一列和第二列的四象限反切线,如下所示: import math for i in xrange(A.shape[0]): phase[i] = math.atan2(A[i,0], A[i,1]) 然而,我想以矢量化的方式来做这件事。我该怎么做?math.atan2()函数似乎不支持向量化 谢谢 在我看来应该是: import numpy as np phase = np.arctan2(A[:, 0], A[:, 1]) 或者

假设我有一个numpy矩阵
a
,大小为
Nx2
。我要做的是计算第一列和第二列的四象限反切线,如下所示:

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


谢谢

在我看来应该是:

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


换句话说,不要使用
math.atan2
,使用
numpy.arctan2
,因为numpy函数通常是其
math
对应函数的矢量化版本

在我看来应该是:

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


换句话说,不要使用
math.atan2
,使用
numpy.arctan2
,因为numpy函数通常是其
math
对应函数的矢量化版本

不知道我是怎么错过的。谢谢有没有一种方法可以让它在角度从0到360的情况下给出结果?看看吧。别忘了接受@mgilson的答案(点击复选框)我不知道我怎么错过了。谢谢有没有一种方法可以让它在角度从0到360的情况下给出结果?看看吧。别忘了接受@mgilson的答案(点击检查)