[파이썬][Scipy] 수치 적분 및 미분방정식 해법 예제
Scipy의 scipy.integrate
모듈은 수치 적분 및 미분 방정식 해법에 사용됩니다. 아래는 간단한 수치 적분 및 미분 방정식 해법 예제입니다.
-
수치 적분 예제:
주어진 함수를 수치적으로 적분하는 예제입니다.
from scipy.integrate import quad
# 적분할 함수 정의
def integrand(x):
return x**2
# 적분 범위
a = 0
b = 1
# 수치 적분 수행
result, error = quad(integrand, a, b)
print(f"결과: {result}")
print(f"오차: {error}")
-
미분 방정식 해법 예제:
미분 방정식의 초기 값 문제를 수치적으로 해결하는 예제입니다. 여기서는 단순한 1차 미분 방정식을 다룹니다.
from scipy.integrate import solve_ivp
import numpy as np
import matplotlib.pyplot as plt
# 미분 방정식 정의
def differential_equation(t, y):
dydt = -2 * t * y # 예시: dy/dt = -2ty
return dydt
# 초기 조건
t0 = 0
y0 = 1
# 시간 범위
t_span = (0, 5)
# 미분 방정식 해법 수행
solution = solve_ivp(differential_equation, t_span, [y0])
# 결과 시각화
t_values = solution.t
y_values = solution.y[0]
plt.plot(t_values, y_values)
plt.xlabel('시간')
plt.ylabel('y(t)')
plt.title('미분 방정식 해법 결과')
plt.grid(True)
plt.show()
이 코드는 주어진 초기 조건에서 미분 방정식을 수치적으로 해결하고 결과를 시각화합니다.
Scipy의 scipy.integrate
모듈은 다양한 수치 적분 및 미분 방정식 해법 기능을 제공합니다. 필요에 따라 더 복잡한 미분 방정식과 다른 적분 방법을 사용할 수 있습니다.