PHP의 atanh() 함수는 지정된 숫자에 대한 역쌍곡탄젠트(inverse hyperbolic tangent) 값을 반환하는 수학 함수입니다. 쌍곡선 함수를 활용한 고급 수학 연산이나 공학 계산에서 유용하게 사용됩니다.
문법(Syntax)
atanh(num)
매개변수(Parameters)
num − 역쌍곡탄젠트를 계산할 숫자입니다. 필수 값이며, 일반적으로 -1부터 1 사이의 범위 내에서 의미 있는 결과를 얻을 수 있습니다.
반환값(Return Value)
atanh() 함수는 계산 결과를 float(실수) 타입으로 반환합니다. 입력값이 1 또는 -1인 경우 각각 INF(무한대)와 -INF(음의 무한대)가 반환됩니다.
예제 1: 경계값 테스트
입력값이 1과 -1일 때의 동작을 확인해 보겠습니다.
<?php
echo(atanh(1) . "<br>");
echo(atanh(-1));
?>
출력 결과:
INF<br>-INF
atanh(1)은 무한대(INF), atanh(-1)은 음의 무한대(-INF)를 반환합니다. 이는 역쌍곡탄젠트 함수의 정의역(domain)이 열린 구간 (-1, 1)이기 때문입니다.
예제 2: 다양한 소수값 계산
여러 실수 값을 입력했을 때의 결과를 살펴보겠습니다.
<?php
echo(atanh(M_PI_4) . "<br>");
echo(atanh(0.90) . "<br>");
echo(atanh(-0.90) . "<br>");
?>
출력 결과:
1.0593061708232<br>1.4722194895832<br>-1.4722194895832<br>
상수 M_PI_4(π/4 ≈ 0.7854)를 입력하면 약 1.0593이 반환되며, 0.90과 -0.90처럼 부호만 다른 값은 크기는 같고 부호만 반대인 결과를 출력합니다. 이는 atanh()가 홀수 함수(odd function)이기 때문입니다.
예제 3: 0 입력 시 결과
<?php
echo(atanh(0));
?>
출력 결과:
0
atanh(0)은 항상 0을 반환합니다. 이는 역쌍곡탄젠트 함수가 원점을 지나기 때문입니다.
정리
atanh() 함수는 tanh() 함수의 역함수로, 수식으로 표현하면 atanh(x) = 0.5 × ln((1+x)/(1-x)) 입니다. 통계학의 피셔 변환(Fisher transformation)이나 신호 처리 등 다양한 분야에서 활용되므로, 입력값 범위(-1 < x < 1)를 항상 염두에 두고 사용하는 것이 좋습니다.