SymPy 기호수학 - 3. 특수함수¶
sympy 라이브러리를 불러오고, 사용할 기호 변수를 선언한다. 출력을 LaTex 수식으로 나타내고, 맷플롯립 모듈을 불러온다.
from sympy import *
x, y, z, t = symbols('x y z t')
f, g, h = symbols('f, g, h', cls=Function)
init_printing()
%matplotlib inline
감마 (Gamma) 함수¶
감마 함수는 다음 적분으로 정의 된다.
$x$ 가 양의 정수일 때, 감마 함수는 계승 함수 (factorial function)로 나타내어진다.
$$ \Gamma (n) = (n-1)! $$
특히, $n=1$ 의 경우 $0!$ 의 정의와 부합한다. $$ \Gamma (1) = 0! = 1 $$
gamma(1)
감마 함수를 그래프로 그려보면
plot( gamma(x), xlim=(-4,5), ylim=(-50,50) )
<sympy.plotting.plot.Plot at 0x1f65928ba60>
좀 더 부드러운 곡선으로 나타내기 위해서, 파이썬 코드로 감마 함수를 각각의 점에서 계산하여 그 결과를 그래프로 그려본다.
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
Xs = np.linspace( -4.0001, 5.0, 10000 )
Ys = []
for X in Xs :
Y = gamma(X)
Ys.append(Y)
plt.plot( Xs, Ys )
plt.ylim(-50,50)
plt.show()
오차 (error) 함수¶
오차 함수는 확률 이론에서 자주 사용되는 함수이며, 가우스 분포 함수의 정적분으로서 정의된다.
가우스 곡선은 해석적으로 적분되지 않으므로, 오차 함수의 값은 수치 적분으로 결정된다.
적분 앞의 상수는 무한대에서의 오차 함수의 값이 1 이 되도록 정한 것이다.
$$ \textrm{erf} ( \infty ) = 1 $$
plot( erf(x), xlim=(0,3), ylim=(0,1) )
<sympy.plotting.plot.Plot at 0x1f659ce1e80>
상보 오차 함수 (complementary error function)는 다음과 같이 정의된다.
$$ \textrm{erfc} ( x ) \,=\, 1- \textrm{erf} ( x ) $$
plot( erfc(x), xlim=(0,3), ylim=(0,1) )
<sympy.plotting.plot.Plot at 0x1f659b8f460>
Last updated in 2022.3
댓글 없음:
댓글 쓰기