[파이썬][Scipy]quad, simps, odeint 예제
Scipy의 quad
, simps
, 그리고 odeint
함수를 사용한 예제를 제공하겠습니다.
quad
함수 예제:
quad
함수는 수치 적분을 수행합니다. 아래 예제에서는 다음 정적분을 계산하는 방법을 보여줍니다.
∫(0 to 1) x^2 dx
from scipy.integrate import quad
# 피적분 함수 정의
def integrand(x):
return x**2
# 수치 적분 수행
result, error = quad(integrand, 0, 1)
print("적분 결과:", result)
print("오차:", error)
simps
함수 예제:
simps
함수는 심슨 규칙을 사용하여 수치 적분을 수행합니다. 아래 예제에서는 다음 정적분을 계산하는 방법을 보여줍니다.
∫(0 to 1) x^2 dx
mport numpy as np
from scipy.integrate import simps
# 피적분 함수 정의
def integrand(x):
return x**2
# 적분 포인트 생성
x = np.linspace(0, 1, 100)
y = integrand(x)
# 수치 적분 수행
result = simps(y, x)
print("적분 결과:", result)
odeint
함수 예제:
odeint
함수는 주어진 초기 조건과 미분 방정식을 해결합니다. 아래 예제에서는 간단한 미분 방정식을 풀고 결과를 그래프로 표시하는 방법을 보여줍니다.
mport numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as plt
# 미분 방정식 정의: dy/dt = -2y
def model(y, t):
dydt = -2 * y
return dydt
# 초기 조건
y0 = 1.0
# 시간 포인트 생성
t = np.linspace(0, 5, 100)
# 미분 방정식 해결
y = odeint(model, y0, t)
# 결과 그래프 플로팅
plt.plot(t, y)
plt.xlabel('시간')
plt.ylabel('y(t)')
plt.title('미분 방정식 해결 결과')
plt.grid(True)
plt.show()
위의 예제들은 Scipy의 quad
, simps
, 그리고 odeint
함수를 사용하여 수치 적분 및 미분 방정식 해결을 수행하는 방법을 보여줍니다.