[파이썬][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 함수를 사용하여 수치 적분 및 미분 방정식 해결을 수행하는 방법을 보여줍니다.