오일러 방법

위키백과 ― 우리 모두의 백과사전.

오일러 방법(Euler's Method)은 테일러 급수에서 유도된 방법으로, 비교적 오차가 크게 나는 방법이다.

목차

[편집] 기본 원리

이 방법의 목적은 다음과 같은 조건이 주어졌을 때 함수 f(x)의 값을 추정하는 것이다.

\frac{dy}{dt} = f(t,y), \qquad a \le t \le b, \qquad y(a) = \alpha. \qquad (1)

이 때 함수 f의 정확한 형태를 구하는 것이 목적이 아니고, 구간 a, b 사이에서의 특정한 점들(격자점, mesh point)에서의 f의 값을 찾아내는 것이 목적이다. 구간 [a,b]를 N개의 구간으로 나누었을 때 각각의 점을  t_i = a + ih, i = 0, 1, 2,\cdots , N.

이라고 하자. 이 때 h = \frac{(b-a)}{N}이 구간의 크기가 된다. 함수 f 에 대한 테일러 급수를 이용하면,

 y(t_{i+1}) = y(t_i) + (t_{i+1} - t_i)y'(t_i) + \frac{(t_{i+1} - t_i)^2}{2}y''(\xi_i)(ti,ti + 1)에 있는 어떤 ξi에 대해 성립한다. 우리는 h = ti + 1ti라는 것을 알고 있기 때문에,


y(t_{i+1}) = y(t_i) + hy'(t_i) + \frac{h^2}{2}y''(\xi_i)

를 얻는다. 이 때, (1)에 의해,


y(t_{i+1}) = y(t_i) + hf(t_i, y(t_i)) + \frac{h^2}{2}y''(\xi_i)

를 얻는다. 이 때 오일러 방법y(ti)에 대한 추정치(ωi로 표기하자)로 다음과 이 나머지 부분을 없앤 값을 사용하는 것이다.


\omega_0 = \alpha, 

\omega_{i+1} = \omega_i + hf(t_i, \omega_i),\qquad for\; each\; i = 0, 1, \cdots, N -1.

[편집] 알고리즘

[편집] 코드

  • C/C++ 코드
  • Maple 코드

[편집] 참고

이 문서는 컴퓨터에 관한 토막글입니다. 서로의 지식을 모아 알차게 문서를 완성해 갑시다.
이 문서는 수학에 관한 토막글입니다. 서로의 지식을 모아 알차게 문서를 완성해 갑시다.