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

C++에서 복소수의 탄젠트를 계산하는 tan() 함수 완벽 가이드

이 글에서는 C++ STL에서 복소수(complex number)의 탄젠트 값을 계산하는 tan() 함수의 작동 원리, 문법, 그리고 실제 활용 예제를 자세히 살펴보겠습니다.

복소수용 tan() 함수는 <complex> 헤더 파일에 정의되어 있으며, 인자로 전달된 복소수의 탄젠트 값을 구하는 데 사용됩니다. 이 함수는 <cmath> 헤더 파일에 포함된 일반 tan() 함수의 복소수 버전이라고 할 수 있습니다.

복소수란 무엇인가?

복소수는 실수(real number)와 허수(imaginary number)가 결합된 형태의 수를 말합니다.

복소수는 일반적으로 다음과 같이 표기합니다.

a + bi

여기서 a와 b는 실수이며, i는 허수 단위(i² = -1)를 나타냅니다.

tan() 함수의 수학적 배경

복소수 z = a + bi에 대한 탄젠트는 다음 공식으로 정의됩니다.

tan(z) = [sin(2a) + i·sinh(2b)] / [cos(2a) + cosh(2b)]

C++의 tan() 함수는 내부적으로 이러한 수학적 정의를 기반으로 복소수의 탄젠트를 계산합니다.

문법

template<class T> complex<T> tan (const complex<T>& num);

매개변수

이 함수는 단 하나의 매개변수만 받습니다.

  • num: 탄젠트를 계산할 복소수 값

반환값

입력된 복소수 num의 탄젠트 값을 복소수 형태로 반환합니다.

예제 1

Input: complex<double> num(0.0, 1.0);
    tan(num);
Output: (0, 1.55741)

순허수 i(실수부 0, 허수부 1)의 탄젠트 값이 약 (0, 1.55741)로 계산되는 것을 확인할 수 있습니다.

예제 2

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

int main () {
    complex<double> tan_num(9.1, 2.6);
    cout << tan_num << "의 탄젠트 값은 " << tan(tan_num);
    return 0;
}

출력 결과

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

(9.1, 2.6)의 탄젠트 값은 (-0.00661488, 0.99123)

예제 3

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

int main () {
    complex<double> tan_num(1.0, 0.0);
    cout << tan_num << "의 탄젠트 값은 " << tan(tan_num);
    return 0;
}

출력 결과

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

(1, 0)의 탄젠트 값은 (1.55741, 0)

허수부가 0인 복소수, 즉 실수 1.0의 탄젠트 값은 일반 실수 탄젠트인 tan(1) ≈ 1.55741과 동일합니다. 이처럼 <complex> 헤더의 tan() 함수는 순수 실수에 대해서도 기존 <cmath>tan()과 동일한 결과를 자연스럽게 처리해 줍니다.