Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# Math.Tanh() 메서드 완벽 정리 - 쌍곡선 탄젠트 값 구하기

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)의 활성화 함수, 신호 처리, 통계학 등 다양한 분야에서 널리 사용됩니다. 특히 머신러닝에서는 시그모이드 함수보다 기울기 소실 문제가 덜한 활성화 함수로 활용되곤 합니다.