NumPy中的arctan2差异

2024-10-06 08:09:57 发布

您现在位置:Python中文网/ 问答频道 /正文

在Numpy中使用arctan2时,我遇到了一个令人费解的问题。搜索atan2错误无法回答问题,但可能有人知道 原因是这样的

f = np.arange(0,100)
w = 2*np.pi*f/50
x = np.arctan2(sin(-w*d/2)*cos(w*d/2), cos(w*d/2)*cos(w*d/2))

给出了不同的结果

f = np.arange(0,100)
w = 2*np.pi*f/50
x = np.arctan2(sin(-w*d/2), cos(w*d/2))

前者是由$pi$每一期间的抵销额计算出来的。看起来像一个数字问题,但我没有看到关于这个特殊案例的任何注释


Tags: numpy错误nppi原因数字sincos
2条回答

请注意,错误似乎是由中的负值引起的 cos()因子。这是正确计算的

H = np.arctan2(sin(-w*d/2)*abs(cos(w*d/2)), cos(w*d/2)*abs(cos(w*d/2)))

atan2(y,x)给出了x轴和向量x,y之间的角度。因此,atan2(y,x)和atan2(ay,ax)是相同的当且仅当a>;0 例如,atan2(y,x)是pi/4,但atan2(-1*y,-1*x)是-3pi/4

相关问题 更多 >