개요
이 글에서는 C++에서 복소수(complex number)를 대상으로 동작하는 cosh() 함수의 사용법과 동작 원리를 자세히 살펴보겠습니다.
cosh() 함수는 C++ 표준 템플릿 라이브러리(STL)의 일부로, 일반적으로 알고 있는 표준 cosh() 함수와는 약간 다릅니다. 라디안 단위의 각도에 대한 쌍곡선 코사인(hyperbolic cosine) 값을 계산하는 대신, 복소수에 대한 복소 쌍곡선 코사인 값을 계산합니다.
복소 쌍곡선 코사인을 계산하는 수학적 공식은 다음과 같습니다.
cosh(z) = (e^(z) + e^(-z)) / 2
여기서 "z"는 복소수를 나타내며, "i"는 허수 단위(iota)를 의미합니다.
복소수 선언 방법
복소수는 다음과 같이 선언해야 합니다.
complex<double> name(a,b)
여기서 "complex" 데이터 타입에 붙은 <double>은 double 타입 객체 두 개로 이루어진 순서쌍을 저장하는 객체를 의미합니다. 이 두 객체는 입력하려는 복소수의 실수부(real part)와 허수부(imaginary part)입니다. 복소수용 함수를 호출하려면 <complex> 헤더 파일을 반드시 포함해야 합니다.
문법(Syntax)
문법은 다음과 같습니다.
cosh(복소수 변수명)
예제
입력: complexnumber(5,5)
출력: (-27.0349,-3.85115)
설명 − 위 예제는 cosh() 함수를 사용하여 복소수의 복소 쌍곡선 코사인 값을 계산하는 방법을 보여줍니다. 입력에서 첫 번째 5는 복소수의 실수부, 두 번째 5는 허수부입니다. 이 복소수를 cosh() 함수에 전달하면 출력으로 쌍곡선 코사인 값을 얻을 수 있습니다.
프로그램의 접근 방식
- 먼저 complexnumber(a,b)와 같은 형태로 복소수를 선언하고, 복소수 값을 할당합니다.
- complexnumber(a,b) 변수에는 두 개의 값이 할당됩니다. 첫 번째 값은 복소수의 실수부, 두 번째 값은 허수부입니다.
예를 들어 complexnumber(1, 3)이라고 하면 이는 복소수 1+3i를 나타냅니다. - 생성한 complexnumber(1, 3)을 cosh() 함수에 전달합니다.
코드 예제
#include<iostream>
#include<complex>
using namespace std;
int main() {
complex<double> cno(1,3);
cout<<cosh(cno);
return 0;
}
실행 결과
위 코드를 실행하면 다음과 같은 출력이 생성됩니다.
(-1.52764,0.165844)
여기서 1은 복소수의 실수부, 3은 허수부입니다. 이 복소수를 cosh() 함수에 전달하면 위와 같이 쌍곡선 코사인 값이 출력됩니다.