C#의 MathF.Atanh() 메서드는 지정된 단정밀도 부동 소수점(float) 값에 대한 역쌍곡선 탄젠트(arc-hyperbolic tangent)를 계산하여 반환합니다. 수학적으로는 atanh(x) 함수에 해당하며, System 네임스페이스의 MathF 클래스에서 제공됩니다.
구문
MathF.Atanh() 메서드의 기본 구문은 다음과 같습니다.
public static float Atanh (float val);
매개변수: val — 역쌍곡선 탄젠트를 구하고자 하는 float 형식의 값입니다.
반환값: 입력 값에 대한 역쌍곡선 탄젠트 값입니다. 단, 이 함수의 유효한 정의역은 -1 이상 1 이하이며, 이 범위를 벗어난 값이 입력되면 NaN(Not a Number)을 반환합니다.
예제 1
다음은 MathF.Atanh() 메서드를 실제로 호출해 보는 첫 번째 예제입니다.
using System;
public class Demo {
public static void Main(){
float val1 = 25f;
float val2 = 15f;
Console.WriteLine("Return value (val1) = "+(MathF.Atanh(val1)));
Console.WriteLine("Return value (val2) = "+(MathF.Atanh(val2)));
}
}
출력 결과
위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.
Return value (val1) = NaN Return value (val2) = NaN
예제 2
이번에는 서로 다른 값으로 MathF.Atanh() 메서드를 호출해 보겠습니다.
using System;
public class Demo {
public static void Main(){
float val1 = 5.8f;
float val2 = 2.9f;
Console.WriteLine("Return value (val1) = "+(MathF.Atanh(val1)));
Console.WriteLine("Return value (val2) = "+(MathF.Atanh(val2)));
}
}
출력 결과
실행 결과는 다음과 같습니다.
Return value (val1) = NaN Return value (val2) = NaN
결과가 NaN인 이유
역쌍곡선 탄젠트 함수 atanh(x)의 정의역은 -1 ≤ x ≤ 1로 제한되어 있습니다. 위 두 예제에서 사용한 값(25, 15, 5.8, 2.9)은 모두 이 범위를 크게 벗어나기 때문에 결과가 NaN으로 출력된 것입니다.
정상적인 결과를 얻으려면 반드시 -1에서 1 사이의 값을 전달해야 합니다. 예를 들어 MathF.Atanh(0.5f)를 호출하면 약 0.5493이 반환되고, MathF.Atanh(-0.8f)는 약 -1.0986이 반환됩니다. 또한 입력값이 정확히 -1 또는 1일 경우에는 각각 음의 무한대와 양의 무한대가 반환됩니다.