如何将复数保存在变量中?

我试图计算这个公式,结果是一个复数。但是 C++ 给了我“nan”。

double Q, r, Theta;
Q=-0.043543950754930;
r=0.009124131609174;
Theta=acos(r/sqrt(pow(-Q,3))); 
// result must be (0.00000000000000 + 0.0911033580003565i)

回答

是的,通过使用std::complex类型:

#include <complex>
#include <iostream>

int main()
{
    std::complex<double> Q = -0.043543950754930;
    std::complex<double> r = 0.009124131609174;
    std::complex<double> Theta = std::acos(r / std::sqrt(std::pow(-Q, 3)));
    std::cout << Theta << 'n';
}

请注意,复杂函数返回特定范围内的值。如果您正在寻找特定的答案,则可能需要对此进行调整。


以上是如何将复数保存在变量中?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>