학습 자료

scipy.integrate 사용하기

scipy.integrate 모듈은 수치적분과 상미분방정식(ODE)을 푸는 함수를 제공합니다.

주로 활용되는 작업은 다음과 같습니다.

  • 정적분을 계산해야 할 때
  • 해석적(정확한) 원시함수가 없는 함수를 적분하고 싶을 때
  • ODE(상미분방정식) 계를 풀 때

scipy.integrate를 사용하기 위해서는 아래와 같이 integrate 모듈을 불러와야 합니다.

NumPy와 SciPy integrate 임포트
import numpy as np from scipy import integrate

예제 1: quad로 정적분

정적분을 계산할 때 quad 함수를 사용할 수 있습니다.

0에서 π까지 sin(x)의 정적분
# 적분할 함수 f = lambda x: np.sin(x) # 0부터 π까지 적분 val, err = integrate.quad(f, 0, np.pi) print("적분값:", val) print("추정 오차:", err)

설명:

  • quad는 적분값과 오차 추정치를 반환합니다
  • 매끄럽고 잘 거동하는 함수에 유용합니다

예제 2: solve_ivp로 ODE 풀기

ODE를 풀 때 solve_ivp 함수를 사용할 수 있습니다.

ODE 풀기
# 미분 방정식(도함수) 함수 def dydt(t, y): return -2 * y # 시간 구간과 평가 지점 t_span = (0, 3) t_eval = np.linspace(*t_span, 100) # ODE 풀기 sol = integrate.solve_ivp(dydt, t_span, y0=[1.0], t_eval=t_eval) print("처음 5개 y 값:", sol.y[0][:5])

설명:

  • solve_ivp는 ODE의 초기값 문제를 풉니다
  • t_span은 적분 구간입니다
  • y0는 초기 조건입니다

핵심 정리

  • quad(): 주어진 구간에서 단변수 함수를 적분합니다.
  • solve_ivp(): 미분방정식의 초기값 문제를 풉니다.
  • SciPy의 적분 루틴과 호환되도록 함수와 배열 정의에 NumPy를 사용할 수 있습니다.
Quiz
0 / 1

scipy.integrate 모듈의 주요 용도는 무엇인가요?

대수식의 기호적 적분을 수행

선형대수 문제를 해결

수치 적분과 상미분방정식(ODE) 풀이

시뮬레이션을 위한 난수 생성

학습 자료

AI 튜터

디자인

업로드

수업 노트

즐겨찾기

도움말