이번 글에서는 복소수(complex number)에 대한 atan() 함수 사용법을 알아보겠습니다. C++에서는 <complex> 헤더 파일을 포함하면 복소수를 손쉽게 다룰 수 있으며, 이 헤더 안에는 일반 atan() 함수의 복소수 버전도 함께 정의되어 있습니다.
일반적인 atan() 함수가 실수의 역탄젠트(arctan) 값을 구하는 것과 달리, 복소수 버전은 복소평면상에서 복소수의 아크탄젠트 값을 계산합니다. 수학적으로는 다음 공식을 기반으로 동작합니다.
atan(z) = (i / 2) × [ln(1 − iz) − ln(1 + iz)]
이 함수는 복소수 하나를 입력 매개변수로 받고, 그 결과인 아크탄젠트 값을 복소수 형태로 반환합니다. 그럼 간단한 예제를 통해 실제 동작을 확인해 보겠습니다.
예제 코드
#include<iostream>
#include<complex>
using namespace std;
int main() {
complex<double> c1(5, 2);
// 복소수에 대한 atan() 함수 호출
cout << "The atan() of " << c1 << " is " << atan(c1);
}실행 결과
The atan() of (5,2) is (1.39928,0.067066)
위 예제에서는 실수부가 5, 허수부가 2인 복소수 (5, 2)를 생성한 뒤, atan() 함수에 전달했습니다. 그 결과 실수부 약 1.39928, 허수부 약 0.067066인 새로운 복소수가 출력된 것을 확인할 수 있습니다.
이처럼 <complex> 헤더의 atan() 함수를 활용하면 복잡한 삼각함수 연산도 별도의 수식 구현 없이 표준 라이브러리만으로 간편하게 처리할 수 있습니다.