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

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

Hàm abs() trong C++ dùng để tìm giá trị tuyệt đối (modulus) của số phức. Giá trị tuyệt đối của số phức a+bi là khoảng cách từ gốc tọa độ trong mặt phẳng phức, tính bằng công thức:

|a+bi| = √(a² + b²)

Hàm abs() trả về kết quả tính toán trên. Được định nghĩa trong thư viện <complex>.

Code ví dụ

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

int main() {
    float a = 13.0, b = 5.0;
    complex<double> complexnumber(a, b);
    
    cout << "Gia tri tuyet doi cua " << a << "+" << b << "i la: ";
    cout << abs(complexnumber) << endl;
    
    return 0;
}

Kết quả

Gia tri tuyet doi cua 13+5i la: 13.9284

Giải thích

√(13² + 5²) = √(169 + 25) = √194 ≈ 13.9284

Các hàm liên quan cho số phức

  • abs(z) - Modulus (giá trị tuyệt đối)
  • arg(z) - Argument (góc pha, tính bằng radian)
  • norm(z) - Bình phương modulus (a² + b²)
  • conj(z) - Số phức liên hợp (a - bi)
  • polar(r, theta) - Tạo số phức từ cực tọa độ

Ví dụ mở rộng

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

int main() {
    complex<double> z(3, 4);
    
    cout << "z = " << z << endl;
    cout << "|z| = " << abs(z) << endl;      // 5
    cout << "arg(z) = " << arg(z) << " rad" << endl; // ~0.927 rad
    cout << "norm(z) = " << norm(z) << endl;    // 25
    cout << "conj(z) = " << conj(z) << endl;    // (3,-4)
    
    return 0;
}