如何从asind获得代表性价值?

时间:2013-11-22 01:35:24

标签: matlab trigonometry angle complex-numbers

我正在使用两个信号的时差进行角度估算。 我使用asind函数(在MATLAB中)来获取学位信息, 但asind有时会给出复数。

真实,想象或绝对中的哪一个可以给出代表性的角度信息? 请帮助我。

1 个答案:

答案 0 :(得分:1)

您正在评估asind的绝对值大于1的数字,该数字不存在。 MATLAB别无选择,只能返回complex result of the formula。即使是1.0以上的微小偏差也会导致结果变得复杂。例如,:

>> asind(1)
ans =
    90
>> asind(1+eps) % eps('double') is about 2.2204e-16
ans =
  90.0000 - 0.0000i

这很容易由角度浮点计算的不准确性引起。如果您确定这是问题而不是y值计算中的错误,那么快速解决方法就是采用实际组件(real(asind(theta)))。或者,您可以检查输入是否大于1或小于-1并正确地纠正该值。