Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python NumPy로 쌍곡 탄젠트(tanh) 계산하기 – np.tanh() 완벽 가이드

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를 통한 효율적인 계산 방법을 익혀두면 유용합니다.