오일러 방법 (Euler Method)
미분방정식이 다음과 같이 주어 졌다고 하자.
\[\frac{dy}{dt}=f(y,t)\qquad a\le t\le b\qquad y(a)=\alpha\]
구간
\([a,b]\)를 \(N\)개로 나누었을 때 각 점을
\[t_n=a+nh\ (n=0,1,2,\cdots,N)\]
이라 하자. 이 때 \(h={b-a\over N}=t_{n+1}-t_n\) 이다.
함수
\(f\)에 대한 테일러 급수를 전개하면
\[\begin{align}y(t_{n+1})&=y(t_n)+(t_{n+1}-t_n)y'(t_n)+\frac{(t_{n+1}-t_n)^2}{2!}y''(\xi)\\&=y(t_n)+hf(t_n,y(t_n))+R_2\end{align}\]
윗 식에서 \(a<\xi<b\) 이다. 오일러 방법은 \(y(t_{n+1})\)에 대한 근사치로
마지막 항 \(R_2\)를 없앤 값을 사용한다.
\[y\approx y(t_n)+hf(t_n,y_n)\ (n=0,1,2,\cdots N-1)\]
[예제] 다음 미분 방정식의 정해를 변수 분리법으로 구하고 오일러 방법으로
근사해를 구한 후 각 점에서의 오차를 계산하라. 단, \(h=0.1\)을 적용한다.
\[\dot{y}=\frac{1}{1-y}\qquad0\le y\le0.5\qquad y(0)=0\]
<풀이> \(\dot{y}=dy/dt\) 이므로 \((1-y)dy=dt\)로 쓸 수 있다. 양변을 적분하면
\[\begin{gather}\int{(1-y)}dy=\int dt\\y-\frac{y^2}{2}=t+C_1\end{gather}\]
여기서 \(C_1\)은 적분상수이고 새로운 적분상수 \(C_2=C_1+1\)를 도입하고 정리하면
\[\begin{gather}(y-1)^2=-2t+C_2\\y=1\pm\sqrt{C_2-2t}\end{gather}\]
초기조건에 의해 \(y(0)=1\pm\sqrt{C_2}=0\) 이므로 \(C_2=1\) 이고
\[y=1-\sqrt{1-2t}\]
오일러 방법은 초기조건 \(y(0)=0\) 이므로 \(y(0.1)\)은
\[y(0.1)=y(0)+h\times{1\over1-y(0)}=0+0.1\times{1\over1-0}=0.100\]
이어서 \(y(0.2)\)는 위의 결과로부터
\[y(0.2)=y(0.1)+h\times{1\over1-y(0.1)}=0.100+0.1\times{1\over1-0.100}=0.211\]
같은 방법으로 \(y(0.3),\dots,y(0.5)\)까지 구하고 각 점에서 오차를 구하면 아래와 같다.
| t | 정해 | 근사해 | 오차 |
| 0.0 | 0.000 | 0.000 | 0.000 |
| 0.1 | 0.106 | 0.100 | -0.006 |
| 0.2 | 0.225 | 0.211 | -0.014 |
| 0.3 | 0.368 | 0.338 | -0.030 |
| 0.4 | 0.553 | 0.489 | -0.064 |
| 0.5 | 1.000 | 0.685 | -0.315 |

댓글
댓글 쓰기