Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++에서 복소수의 sin() 함수 사용법

C++에서는 복소수에 대한 삼각함수 연산을 기본적으로 지원하며, 그중 sin() 함수를 사용하면 복소수의 사인 값을 간단하게 계산할 수 있습니다. 복소수용 sin() 함수는 <complex> 헤더 파일에 정의되어 있기 때문에, 이를 사용하려면 코드에 해당 헤더 파일을 반드시 포함해야 합니다. 수학적으로 이 함수는 복소수 z에 대한 사인 값을 구하는 데 활용됩니다.

복소수 사인의 수학적 배경

복소수 a + bi에 대한 사인 값은 오일러 공식을 기반으로 다음과 같이 계산됩니다.

sin(a + bi) = sin(a)·cosh(b) + i·cos(a)·sinh(b)

C++의 sin() 함수는 내부적으로 이 공식을 적용하여 실수부와 허수부를 모두 포함한 결과를 반환합니다.

구문

sin() 함수의 구문은 다음과 같습니다.

sin(z);

매개변수

매개변수 z에는 임의의 복소수가 들어갈 수 있으며, sin() 함수의 정의상 필수 매개변수이므로 호출 시 반드시 값을 전달해야 합니다.

반환 형식

이 함수는 입력으로 복소수를 받기 때문에, 반환값 역시 실수부와 허수부를 가진 복소수 형태의 사인 값입니다.

입력 − Sin(0, 1)

출력 − (0, 1.1752)

입력 − Sin(4, 6)

출력 − (-152.65, -131.848)

예제 1

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

int main() {
    complex<double> x(2, 1);
    cout << "The sin of " << x << " = " << sin(x) << endl;
    return 0;
}

출력

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

The sin of (2,1) = (1.403,-0.4890)

복소수 (2, 1), 즉 2 + i의 사인 값이 실수부 1.403, 허수부 -0.4890으로 계산된 것을 확인할 수 있습니다.

예제 2

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

int main() {
    complex<double> x(3, 9);
    cout << "The sin of " << x << " = " << sin(x) << endl;
    return 0;
}

출력

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

The sin of (3, 9) = (571.75,-4010.996)

허수부가 커질수록 쌍곡선 함수(hyperbolic function)의 영향으로 결과값의 크기가 급격하게 증가하는 것을 알 수 있습니다. 이처럼 C++의 <complex> 헤더와 sin() 함수를 활용하면 복잡한 복소수 삼각함수 연산도 별도의 수학적 구현 없이 손쉽게 처리할 수 있습니다.