C#의 Math.Tanh() 메서드는 지정된 각도의 쌍곡선 탄젠트(hyperbolic tangent) 값을 반환하는 수학 함수입니다. 삼각함수의 탄젠트와 유사하지만, 쌍곡선 각도를 기준으로 계산한다는 점이 다릅니다.
문법(Syntax)
public static double Tanh (double val);
매개변수 val에는 쌍곡선 탄젠트를 구하고자 하는 각도(라디안 단위)가 들어갑니다. 반환값은 double 형태의 쌍곡선 탄젠트 값입니다.
예제 1
다음은 Math.Tanh() 메서드를 사용하는 기본적인 예제입니다.
using System;
public class Demo {
public static void Main(){
double val1 = 30.0;
double val2 = (60 * (Math.PI)) / 180;
Console.WriteLine(Math.Tanh(val1));
Console.WriteLine(Math.Tanh(val2));
}
}출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
1 0.780714435359268
여기서 주목할 점은 두 번째 값입니다. 60도를 라디안으로 변환한 후(Math.PI를 활용) Tanh()에 전달하면 약 0.78이라는 결과가 나옵니다. 반면 첫 번째 값인 30.0은 이미 큰 숫자이기 때문에 쌍곡선 탄젠트의 특성상 최댓값인 1에 수렴하게 됩니다.
예제 2
이번에는 다양한 입력값을 사용해 Math.Tanh() 메서드의 동작을 확인해 보겠습니다.
using System;
public class Demo {
public static void Main(){
double val1 = 0.0;
double val2 = 1.0;
double val3 = 15.0;
Console.WriteLine(Math.Tanh(val1));
Console.WriteLine(Math.Tanh(val2));
Console.WriteLine(Math.Tanh(val3));
}
}출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
0 0.761594155955765 0.999999999999813
결과 분석
출력 결과를 통해 몇 가지 중요한 특징을 확인할 수 있습니다.
입력값이 0일 때: tanh(0) = 0으로, 결과는 항상 0입니다.
입력값이 작을 때: 1.0을 입력하면 약 0.7616이 반환됩니다.
입력값이 클 때: 15.0처럼 큰 값을 입력하면 결과가 1에 매우 가깝게 수렴합니다(0.999999999999813). 이는 쌍곡선 탄젠트 함수의 출력 범위가 항상 -1에서 1 사이라는 수학적 특성 때문입니다.
활용 분야
Math.Tanh() 메서드는 신경망(Neural Network)의 활성화 함수, 신호 처리, 통계학 등 다양한 분야에서 널리 사용됩니다. 특히 머신러닝에서는 시그모이드 함수보다 기울기 소실 문제가 덜한 활성화 함수로 활용되곤 합니다.