python中math.atan2()函数的矢量化示例
假设我有一个numpy矩阵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]) 或者
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的答案(点击检查)