Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Hàm asin() cho số phức trong C++

Hàm asin() cho số phức tính arc sine (sine nghịch đảo) của số phức. Định nghĩa trong <complex>.

Code ví dụ

#include <iostream>
#include <complex>
using namespace std;

int main() {
    complex<double> c1(5, 2);  // 5 + 2i
    cout << "asin(" << c1 << ") = " << asin(c1) << endl;
    return 0;
}

Kết quả

asin((5,2)) = (1.18423,2.37055)

Giải thích

Kết quả: phần thực ≈ 1.18423, phần ảo ≈ 2.37055 (radian).

Công thức toán học

asin(z) = -i * ln(i*z + √(1-z²))

Trong đó i là đơn vị ảo, ln là log tự nhiên phức, √ là căn bậc hai phức.

Ví dụ mở rộng

#include <iostream>
#include <complex>
#include <iomanip>
using namespace std;

int main() {
    complex<double> z(0.5, 0);
    cout << fixed << setprecision(6);
    cout << "asin(0.5) = " << asin(z) << endl; // ~0.523599 (pi/6)
    
    complex<double> z2(2, 0); // Ngoài miền [-1,1] của real asin
    cout << "asin(2) = " << asin(z2) << endl; // Có phần ảo
    
    return 0;
}

Kết quả

asin(0.5) = (0.523599,0.000000)
asin(2) = (1.570796,1.316958)

Lưu ý: asin của số thực > 1 cho kết quả phức (có phần ảo).