C++ 標準庫中的 atan
函數不能直接處理復數。要處理復數,您需要使用 C++ 標準庫中的
在中,有一個名為
std::atan的重載版本,可以處理復數。這個函數接受一個
std::complex類型的參數,并返回一個
std::complex類型的結果。這里的
T是一個浮點類型,可以是
float、
double或
long double`。
下面是一個簡單的示例,展示了如何使用 std::atan
來計算一個復數的反正切值:
#include<iostream>
#include<complex>
int main() {
std::complex<double> z(1.0, 2.0); // 創建一個復數 z = 1 + 2i
std::complex<double> result = std::atan(z); // 計算 z 的反正切值
std::cout << "atan(" << z << ") = "<< result<< std::endl;
return 0;
}
注意:在輸出復數時,std::cout
會自動調用 std::complex<T>::operator<<
,因此您不需要手動格式化輸出。