파이썬으로 함수를 그래프로 시각화

개요



보고서 작성 등에서 얻은 함수를 그래프로 나타내고 싶은 것은 매우 많다. 여기서는 피팅 등의 장면에서 사용되는 로렌츠 함수를 예로 파이썬으로 그래프를 그려 저장하는 방법을 설명한다.

환경



PC:windows10(64bit)
python3.6.8
matplotlib2.2.0
numpy1.16.0
jupyter notebook1.1.0

라이브러리의 설치는 pip에 의해 실시하고 있다.
pip install jupyter notebook

pip install numpy

pip install matplotlib

이론



로렌츠 함수는 다음 식으로 표현된다.
f(x) = y0 + \frac{1}{\pi} \frac{\omega}{(x-x0)^2 + \omega^2} 

함수의 상수로서 ω, x0, y0을 포함한다.
함수의 개략은 아래의 결과를 참조해 주셨으면 한다. x = x0에서 최대값을 취합니다.

코드



그러면 파이썬으로 로렌츠 함수를 그립니다.

코드는 다음과 같습니다.
import pylab as plt
import numpy as np

xmin=-5; xmax=5; npoints=100
delta=(xmax-xmin)/npoints
w=2; x0=0; y0=0

x=np.arange(xmin,xmax,delta)
y=y0+(1/np.pi)*(w/(((x-x0)**2)+w**2))

plt.plot(x,y,'r',lw=2)
plt.xlabel("x")
plt.ylabel("f(x)")
plt.title("lorentz function")
plt.grid(True)

plt.savefig('figure.png')
plt.show()

pylab과 numpy 가져오기


import pylab as plt
import numpy as np

정의 영역 (xmin, xmax)과 데이터 점 수 (npoints) 지정


xmin=-5; xmax=5; npoints=100
delta=(xmax-xmin)/npoints

정의 영역, 데이터 포인트가 결정되면, 데이터 포인트의 간격 δ도 결정된다.

함수의 상수 지정


w=2; x0=0; y0=0

이제 함수를 그리는 데 필요한 정보가 있습니다.

함수 정의


x=np.arange(xmin,xmax,delta)
y=y0+(1/np.pi)*(w/(((x-x0)**2)+w**2))

로렌츠 함수 정의

x는 x축의 배열이고 y는 각 x의 값에 대응하는 y의 값을 결정한다.

함수 그리기 및 그래프 저장


plt.plot(x,y,'r',lw=2)
plt.xlabel("x")
plt.ylabel("f(x)")
plt.title("lorentz function")
plt.grid(True)

plt.savefig('figure.png')
plt.show()

plot()로 데이터 점 지정과 선의 색('r')과 선폭(lw=2)을 결정한다

savefig()로 그래프 저장

show()로 jupyter notebook에 그래프 표시

결과



실행 결과는 다음과 같다.



.png 파일로 저장된 그래프를 보여줍니다.

요약



로렌츠 함수를 예로 파이썬으로 함수를 그리는 방법을 설명했다.

적절하게 그리려는 함수에 맞게 코드를 변경하면 됩니다.

참고



・( htps : // 놀라운 l. 코 m / 쿠에 s 치온 s / 66705 )
· matplotlib
· 코시 분포

좋은 웹페이지 즐겨찾기