728x90
반응형
안녕하세요. 지난 포스팅의 넘파이 알고 쓰자 - 삼각 함수(Trigonometric functions)에 대해서 알아봤습니다. 오늘은 이에 이해서 쌍곡선 함수에 대해서 알아보도록 하죠. 기본적으로 쌍곡선 함수들의 정의는 아래와 같습니다.
$$\sinh{x} = \frac{e^{x} - e^{-x}}{2}$$
$$\cosh{x} = \frac{e^{x} + e^{-x}}{2}$$
$$\tanh{x} = \frac{\sinh{x}}{\cosh{x}} = \frac{e^{x} - e^{-x}}{e^{x} + e^{-x}}$$
위 정의를 보셨다면 오늘 볼 내용은 아주 쉽습니다!! 바로 그래프와 함께 실습을 진행해보도록 하겠습니다.
1. numpy.sinh(x), numpy.cosh(x), numpy.tanh(x)
먼저, 위에서 정의한 그래프를 그려서 확인해보도록 하겠습니다. 저번 포스팅과 동일하게 진행하도록 하죠.
x = np.linspace(-5, 5, 100)
sinh = np.sinh(x)
plt.plot(x, sinh, label='hyperbolic sine')
plt.plot([-5, 5], [0, 0], 'k')
plt.plot([0, 0], [-5, 5], 'k')
plt.ylim([-5, 5])
plt.xlim([-5, 5])
plt.legend()
plt.savefig('./hypersine.png', dpi=300)
x = np.linspace(-5, 5, 100)
cosh = np.cosh(x)
plt.plot(x, cosh, label='hyperbolic cosine')
plt.plot([-5, 5], [0, 0], 'k')
plt.plot([0, 0], [-5, 5], 'k')
plt.ylim([-5, 5])
plt.xlim([-5, 5])
plt.legend()
plt.savefig('./hypercosine.png', dpi=300)
x = np.linspace(-5, 5, 100)
tanh = np.tanh(x)
plt.plot(x, tanh, label='hyperbolic tangent')
plt.plot([-5, 5], [0, 0], 'k')
plt.plot([0, 0], [-5, 5], 'k')
plt.ylim([-5, 5])
plt.xlim([-5, 5])
plt.legend()
plt.savefig('./hypertangent.png', dpi=300)
2. numpy.arcsinh(x), numpy.arccosh(x), numpy.arctanh(x)
이번에는 방금 확인했던 함수들의 역함수들도 같이 그려서 확인해보도록 하겠습니다.
x = np.linspace(-5, 5, 100)
sinh = np.sinh(x)
arcsinh = np.arcsinh(x)
plt.plot(x, sinh, label='hyperbolic sine')
plt.plot(x, arcsinh, label='hyperbolic arcsine')
plt.plot(x, x, 'r:')
plt.plot([-5, 5], [0, 0], 'k')
plt.plot([0, 0], [-5, 5], 'k')
plt.ylim([-5, 5])
plt.xlim([-5, 5])
plt.legend()
plt.savefig('./hypersine_arcsine.png', dpi=300)
x = np.linspace(-5, 5, 100)
cosh = np.cosh(x)
arccosh = np.arccosh(x)
plt.plot(x, cosh, label='hyperbolic cosine')
plt.plot(x, arccosh, label='hyperbolic arccosine')
plt.plot(x, x, 'r:')
plt.plot([-5, 5], [0, 0], 'k')
plt.plot([0, 0], [-5, 5], 'k')
plt.ylim([0, 5])
plt.xlim([0, 5])
plt.legend()
plt.savefig('./hypercosine_arccosine.png', dpi=300)
x = np.linspace(-5, 5, 100)
tanh = np.tanh(x)
arctanh = np.arctanh(x)
plt.plot(x, tanh, label='hyperbolic tan')
plt.plot(x, arctanh, label='hyperbolic arctan')
plt.plot(x, x, 'r:')
plt.plot([-5, 5], [0, 0], 'k')
plt.plot([0, 0], [-5, 5], 'k')
plt.ylim([-1, 1])
plt.xlim([-1, 1])
plt.legend()
plt.savefig('./hypertan_arctan.png', dpi=300)
오늘은 각 쌍곡함수를 넘파이에서 사용하는 방법과 그래프를 그리는 법을 간단하게 알아보았습니다. 쌍곡함수에 대한 다양한 성질은 이후에 미적분학을 포스팅하게 되면 그 때 정리하도록 하겠습니다.
728x90
반응형
'Programming > Python' 카테고리의 다른 글
넘파이 알고 쓰자 - Linear Algebra Library 1 : Matrix&Vector Product (0) | 2020.11.16 |
---|---|
넘파이 알고 쓰자 - 덧셈, 곱셈, 뺄셈(Sums, products, differences) (0) | 2020.11.12 |
넘파이 알고 쓰자 - 삼각함수(Trigonometric functions) (1) | 2020.11.04 |
넘파이 알고 쓰자 - 문자열 정보 추출 (0) | 2020.10.15 |
넘파이 알고 쓰자 - 문자열 비교 (0) | 2020.10.10 |