我死在这里。所以我有一个复数(-4.9991 + 15.2631i)。在 matlab 中,如果我这样做的话
angle(-4.9991 + 15.2631i) = 1.8873
我以为角度基本上是这样计算的
atan(15.2631/-4.9991) = -1.2543
为什么这些不同?我需要编写一个 c 函数来计算复数的角度。我是这样做的:
#define angle(x) (atan((GSL_IMAG(x)/GSL_REAL(x))))
但这种方式给了我 -1.2543 的答案,而不是 1.8873 的答案。我究竟做错了什么?
最佳答案
-1.2543 + Pi(radians) = 1.8873 (with rounding)
正如其他人所指出的,使用 atan2()
关于C 等价于 matlab 角函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16601252/