이 글에서는 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()과 동일한 결과를 자연스럽게 처리해 줍니다.