sinh() 함수는 라디안(radian) 단위로 주어진 각도의 쌍곡선 사인(hyperbolic sine) 값을 반환하는 함수입니다. C++ 표준 라이브러리(STL)의 <cmath> 헤더에 내장되어 있어 별도의 구현 없이 바로 사용할 수 있습니다.
sinh() 함수의 문법
sinh(var)
문법에서 확인할 수 있듯이, sinh() 함수는 float, double, long double 타입의 매개변수 var 하나를 받습니다. 그리고 해당 값의 쌍곡선 사인을 계산하여 반환합니다. 쌍곡선 사인은 수학적으로 다음과 같이 정의됩니다.
sinh(x) = (e^x − e^−x) / 2
sinh() 함수 기본 사용 예제
다음은 C++에서 sinh() 함수를 사용하는 기본적인 프로그램입니다.
예제 코드
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double d = 5, ans;
ans = sinh(d);
cout << "sinh("<< d <<") = " << ans << endl;
return 0;
}실행 결과
sinh(5) = 74.2032
코드 설명
위 프로그램의 동작 순서는 다음과 같습니다. 먼저 변수 d를 5로 초기화한 후, sinh() 함수를 이용해 d의 쌍곡선 사인을 계산하여 ans에 저장합니다. 마지막으로 ans의 값을 화면에 출력합니다. 핵심 부분을 정리하면 다음과 같습니다.
double d = 5, ans;
ans = sinh(d);
cout << "sinh("<< d <<") = " << ans << endl;각도(도)를 라디안으로 변환하여 사용하기
sinh() 함수는 반드시 라디안 단위의 값을 입력받습니다. 따라서 각도가 도(degree) 단위로 주어진 경우에는 sinh() 함수를 호출하기 전에 라디안으로 변환해야 합니다. 변환 공식은 다음과 같습니다.
radian = degree × π / 180
예제 코드
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double degree = 60, ans;
degree = degree * 3.14159/180;
ans = sinh(degree);
cout << "sinh("<<degree<<") = "<< ans << endl;
return 0;
}실행 결과
sinh(1.0472) = 1.24937
코드 설명
위 프로그램에서는 60이라는 값이 도(degree) 단위로 주어졌기 때문에, 먼저 degree * 3.14159 / 180 연산을 통해 약 1.0472라디안으로 변환합니다. 이후 sinh() 함수로 쌍곡선 사인을 구하고 결과를 출력합니다. 핵심 로직은 아래와 같습니다.
double degree = 60, ans;
degree = degree * 3.14159/180;
ans = sinh(degree);
cout << "sinh("<<degree<<") = "<< ans << endl;정리
sinh() 함수는 C++에서 쌍곡선 삼각 함수를 손쉽게 계산할 수 있게 해주는 유용한 내장 함수입니다. 사용 시 두 가지만 기억하면 됩니다. 첫째, 입력값은 반드시 라디안 단위여야 하며, 둘째, 매개변수는 float, double, long double 타입 중 하나를 사용해야 한다는 점입니다. 과학 및 공학 계산에서 쌍곡선 함수가 필요할 때 <cmath> 헤더만 포함하면 간편하게 활용할 수 있습니다.