오일러 방법
(Euler method)
정의
오일러 방법은 미분방정식의 초기값 문제(initial value problem)를 수치적으로 풀기 위한 가장 기본적인 1차Explicit(전진) 방법이다. 연속적인 미분방정식
$$ \frac{dy}{dt}=f(t, y),\qquad y(t_0)=y_0 $$
을 작은 시간 간격 $h$ 로 나누어, 다음과 같은 반복식으로 근사값 $y_n$ 을 구한다.
$$ y_{n+1}=y_n + h,f(t_n, y_n),\qquad t_{n+1}=t_n+h $$
역사·배경
이 기법은 18세기 스위스 수학자 레옹하르트 오일러(Leonhard Euler, 1707–1783)가 제시한 것으로, 미분방정식 해석에 대한 최초의 체계적인 수치 접근법 중 하나이다. 당시에는 전자식 계산기가 없었음에도 불구하고 손쉽게 손으로 계산할 수 있는 장점 때문에 널리 사용되었다.
특징
| 항목 | 내용 |
|---|---|
| 차수(order) | 1차(일차) 정확도; 전역 오차 $O(h)$ |
| 안정성 | 제한된 영역(특히 강제 진동·강경한 강직성(stiff) 문제에 불안정) |
| 구현 난이도 | 매우 간단; 프로그래밍·수작업 모두 쉬움 |
| 계산 비용 | 각 단계당 함수 평가 1회 |
오차 분석
- 국부 오차(local truncation error): 한 단계에서 실제 해와 근사해의 차이는 $O(h^2)$이다.
- 전역 오차(global error): 전체 구간에 누적된 오차는 $O(h)$이며, 이는 단계 수 $N = (T-t_0)/h$ 에 비례한다.
안정성 조건
선형 테스트 방정식 $y' = \lambda y$ 에 대해 오일러 방법은
$$ y_{n+1}= (1 + h\lambda),y_n $$
가 되며, 해가 수렴하려면 $|1+h\lambda|<1$ 이어야 한다. 실수 $\lambda<0$ 에 대해 $h < -2/\lambda$ 가 필요하므로, 큰 절댓값의 $\lambda$ (강직성) 에서는 매우 작은 $h$ 가 요구된다.
응용 분야
- 교육: 미분방정식 개념을 직관적으로 보여 주는 교재·강의에서 기본 예시로 사용.
- 프로토타이핑: 복잡한 시뮬레이션 전, 빠른 초기 근사값 획득.
- 실시간 시스템: 계산 자원이 제한된 임베디드 환경에서 간단한 제어 루프에 적용.
확장 및 변형
| 변형 | 주요 특징 |
|---|---|
| 개선된 오일러(Heun) 방법 | 예측‑보정 과정을 추가해 2차 정확도 확보 |
| 중점 오일러(Midpoint) 방법 | 중간값을 이용해 전역 오차를 $O(h^2)$ 로 향상 |
| 런지‑쿠타 4차(RK4) | 여러 단계와 가중치를 사용해 4차 정확도 제공, 오일러 방법의 일반화 |
| 암시적 오일러(Backward Euler) | $y_{n+1}=y_n + h f(t_{n+1}, y_{n+1})$ 형태로 강직성 문제에 안정적 |
구현 예시 (Python)
def euler(f, t0, y0, h, steps):
t, y = t0, y0
result = [(t, y)]
for _ in range(steps):
y += h * f(t, y)
t += h
result.append((t, y))
return result
# 사용 예시
import math
f = lambda t, y: -2 * y + math.sin(t)
sol = euler(f, t0=0.0, y0=1.0, h=0.1, steps=100)
참고문헌
- E. Hairer, G. Wanner, Solving Ordinary Differential Equations I: Nonstiff Problems, Springer, 1993.
- J. C. Butcher, Numerical Methods for Ordinary Differential Equations, John Wiley & Sons, 2016.
- L. Euler, Institutiones Calculi Differentialis, 1755.
요약
오일러 방법은 미분방정식의 초기값 문제를 가장 단순히 풀어내는 1차 명시적 수치 해법이다. 구현이 쉽고 직관적이지만, 정확도와 안정성 면에서 제한이 있어 실제 공학·과학 응용에서는 보통 고차의 Runge‑Kutta 계열이나 암시적 방법과 함께 사용된다.