I do not get exactly what does atan2d(0,0) means?
2 次查看(过去 30 天)
显示 更早的评论
采纳的回答
Matt J
2013-12-10
编辑:Matt J
2013-12-10
I think the reasoning is this,
t=atan2d(y,x)
should satisfy
norm([x,y])*cosd(t)=x
norm([x,y])*sind(t)=y
In the case where x=y=0, any t would satisfy this, but the convention t=0 ensures continuity of atan2d(y,x) over x>=0.
2 个评论
Matt J
2013-12-10
编辑:Matt J
2013-12-10
Hi Navid,
If we choose t=pi/2, it will give us continuity over y greater than or equal 0
That is true. It is something of an arbitrary choice, I imagine, but less arbitrary than, say t=pi/sqrt(3).
in fact as you said, any t would satisfy it and we can say that it has singularity at x=y=0. So I believe that it should be NaN.
We can only guess the minds of the software developers. I don't think it could precisely be called a singularity, though, because there exist real values that satisfy the defining equations, if you're willing to accept
norm([x,y])*cosd(t)=x
norm([x,y])*sind(t)=y
as that definition.
更多回答(1 个)
Matt J
2013-12-10
编辑:Matt J
2013-12-10
As further motivation, consider also the similar convention used by the angle() function
>> angle(0+0i)
ans =
0
In Fourier Analysis, this makes sense because, even though Fourier spectra are in general complex-valued, there are prominent cases where a spectrum S(f) is real-valued and you want the phase response to be semi-continuous at zero crossings S(f)=0.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!