我正在使用FFT数学进行一个项目,遇到了需要计算实部和虚部FFT分量的相位角的情况。在一些示例中,我看到有人使用atan2f来做这个,而在一些示例中,我看到有人在复数类旁边使用argf。
除了接受两个单独参数与接受一个复数参数之外,这两个函数的操作方式是否有任何区别?如果有的话,有什么区别?
我已经在各种在线文档中搜索了很久,似乎找不到对这个问题的明确或简明的答案。
谢谢!
这个来源特别令人困惑:
如果没有发生错误,返回z在区间[-π; π]内的相位角。错误和特殊情况的处理方式就好像该函数被实现为std::atan2(std::imag(z), std::real(z))。
这并不清楚它们在所有情况下是否等价,还是只有在边缘情况或错误时才等价。
除了接受两个单独参数与接受一个复数参数之外,这两个函数的操作方式是否有任何区别?如果有的话,有什么区别?
我已经在各种在线文档中搜索了很久,似乎找不到对这个问题的明确或简明的答案。
谢谢!
这个来源特别令人困惑:
如果没有发生错误,返回z在区间[-π; π]内的相位角。错误和特殊情况的处理方式就好像该函数被实现为std::atan2(std::imag(z), std::real(z))。
这并不清楚它们在所有情况下是否等价,还是只有在边缘情况或错误时才等价。
0+0i
。这里有一个链接在这里,描述了atan2
的边界情况和溢出/下溢。我期望std::arg
对于这些情况与atan2
相同。 - doug0+0i
。这里有一个链接点击这里,描述了atan2
的边界情况和溢出/下溢。我期望std::arg
对于这些情况与atan2
相同。 - doug0+0i
。这里有一个链接在这里,描述了atan2
的边界情况和溢出/下溢。我期望std::arg
对于这些情况与atan2
的行为相同。 - undefined