Python에서 쌍곡 탄젠트(Hyperbolic Tangent)를 계산하려면 NumPy의 numpy.tanh() 메서드를 사용하면 됩니다. 이 함수는 수학적으로 np.sinh(x)/np.cosh(x) 또는 -1j * np.tan(1j*x)와 동일한 결과를 반환합니다. 입력값이 스칼라(scalar)라면 결과 역시 스칼라로 반환됩니다.
numpy.tanh()의 매개변수
np.tanh()는 세 개의 매개변수를 받습니다.
- x (첫 번째 매개변수): 쌍곡 탄젠트를 계산할 입력 배열입니다. 필수 값입니다.
- out (두 번째 매개변수, 선택): 결과가 저장될 ndarray입니다. 지정할 경우 입력값들이 브로드캐스팅될 수 있는 형태(shape)여야 하며, 지정하지 않거나 None이면 새로 할당된 배열이 반환됩니다.
- where (세 번째 매개변수, 선택): 입력 전체에 브로드캐스트되는 조건입니다. 조건이 True인 위치에는 ufunc 연산 결과가 저장되고, 그 외 위치에서는 out 배열의 원래 값이 유지됩니다.
계산 단계
1단계: 라이브러리 임포트
먼저 필요한 라이브러리를 임포트합니다.
import numpy as np
2단계: 다양한 각도의 tanh 값 계산
복소수 πi에 대한 tanh 값을 구해봅니다.
print("\nResult...", np.tanh(np.pi*1j))90도(π/2)에 해당하는 tanh 값을 구합니다.
print("\nResult...", np.tanh(np.pi/2.))60도(π/3)에 해당하는 tanh 값을 구합니다.
print("\nResult...", np.tanh(np.pi/3.))45도(π/4)에 해당하는 tanh 값을 구합니다.
print("\nResult...", np.tanh(np.pi/4.))30도(π/6)에 해당하는 tanh 값을 구합니다.
print("\nResult...", np.tanh(np.pi/6.))0도에 해당하는 tanh 값을 구합니다.
print("\nResult...", np.tanh(0))전체 예제 코드
import numpy as np
# Python Numpy에서 쌍곡 탄젠트를 계산하려면 numpy.tanh() 메서드를 사용합니다.
# np.sinh(x)/np.cosh(x) 또는 -1j * np.tan(1j*x)와 동일합니다.
# 입력값이 스칼라이면 결과도 스칼라로 반환됩니다.
print("Get the Trigonometric Hyperbolic tangent...")
# tanh 계산
print("\nResult...", np.tanh(np.pi*1j))
# 90도의 tanh 계산
print("\nResult...", np.tanh(np.pi/2.))
# 60도의 tanh 계산
print("\nResult...", np.tanh(np.pi/3.))
# 45도의 tanh 계산
print("\nResult...", np.tanh(np.pi/4.))
# 30도의 tanh 계산
print("\nResult...", np.tanh(np.pi/6.))
# 0도의 tanh 계산
print("\nResult...", np.tanh(0))실행 결과
Get the Trigonometric Hyperbolic tangent... Result... -1.2246467991473532e-16j Result... 0.9171523356672744 Result... 0.7807144353592677 Result... 0.6557942026326724 Result... 0.4804727781564516 Result... 0.0
결과 해석
실행 결과를 살펴보면 다음과 같은 특징을 확인할 수 있습니다.
- πi의 경우: 약
-1.22e-16j로 사실상 0에 가까운 허수값이 나옵니다. 부동소수점 오차로 인해 정확히 0이 되지 않은 것입니다. - 90도(π/2): 약 0.917로, 각도가 커질수록 tanh 값이 1에 수렴하는 것을 볼 수 있습니다.
- 0도: 정확히 0.0이 출력됩니다.
쌍곡 탄젠트 함수는 신경망의 활성화 함수 등 머신러닝 분야에서도 널리 사용되므로, NumPy를 통한 효율적인 계산 방법을 익혀두면 유용합니다.