C#의 MathF.Tanh() 메서드는 지정된 단정밀도 부동 소수점(float) 값에 대한 쌍곡탄젠트(hyperbolic tangent)를 반환합니다. 이 메서드는 수학, 물리 시뮬레이션, 신경망 활성화 함수 등 다양한 분야에서 활용됩니다.
문법(Syntax)
MathF.Tanh() 메서드의 기본 문법은 다음과 같습니다.
public static float Tanh (float val);
여기서 val은 쌍곡탄젠트 값을 구하고자 하는 숫자입니다. 매개변수와 반환값 모두 float 형식을 사용합니다.
특징 및 반환 규칙
- 입력값이 양의 무한대(
float.PositiveInfinity)이면 1을 반환합니다. - 입력값이 음의 무한대(
float.NegativeInfinity)이면 -1을 반환합니다. - 입력값이 NaN(
float.NaN)이면 NaN을 반환합니다.
예제 1: 기본 사용법
다음 예제는 일반적인 숫자 값과 NaN 값을 MathF.Tanh() 메서드에 전달하는 방법을 보여줍니다.
using System;
public class Demo {
public static void Main(){
float val1 = 10f;
float val2 = float.NaN;
Console.WriteLine("MathF.Tanh(val1) = "+MathF.Tanh(val1));
Console.WriteLine("MathF.Tanh(val2) = "+MathF.Tanh(val2));
}
}출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
MathF.Tanh(val1) = 1 MathF.Tanh(val2) = NaN
10처럼 큰 값을 입력하면 쌍곡탄젠트 함수의 특성상 결과가 1에 수렴하는 것을 확인할 수 있습니다.
예제 2: 무한대와 각도 값 처리
이번에는 양의 무한대, 음의 무한대, 그리고 도(degree)를 라디안으로 변환한 값을 입력으로 사용하는 예제입니다.
using System;
public class Demo {
public static void Main(){
float val1 = float.PositiveInfinity;
float val2 = float.NegativeInfinity;
float val3 = (20f * (MathF.PI)) / 180;
Console.WriteLine("MathF.Tanh(val1) = "+MathF.Tanh(val1));
Console.WriteLine("MathF.Tanh(val2) = "+MathF.Tanh(val2));
Console.WriteLine("MathF.Tanh(val3) = "+MathF.Tanh(val3));
}
}출력 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
MathF.Tanh(val1) = 1 MathF.Tanh(val2) = -1 MathF.Tanh(val3) = 0.3355469
양의 무한대는 1, 음의 무한대는 -1을 반환하며, 20도를 라디안으로 변환한 약 0.349 라디안 값에 대해서는 약 0.3355의 쌍곡탄젠트 값이 계산되는 것을 볼 수 있습니다.
정리
MathF.Tanh() 메서드는 float 형식의 쌍곡탄젠트를 빠르게 계산할 수 있는 유용한 수학 함수입니다. double 형식을 사용하는 경우에는 Math.Tanh() 메서드를 대신 사용하면 됩니다. 무한대나 NaN 같은 특수한 입력값에 대한 동작 규칙을 잘 기억해 두면 예외 상황 처리에 도움이 됩니다.