오일러 방법
오일러 방법(Euler's Method)은 수치해법을 통해서 미분방정식을 푸는 방법이다. 테일러 급수에서 유도된 방법으로, 비교적 오차가 크게 나는 방법이다.
목차 |
[편집] 비공식 기하학적 설명
형태가 알려지지 않은 미지의 곡선을 계산하는 문제를 생각해보자. 우리는 시작점(초기값)을 알고, 이 미지의 곡선이 주어진 미분 방정식을 만족한다고 가정한다. 이때, 이 미분 방정식은 미지의 곡선의 어떤 점에서도 접선의 기울기를 구할수 있는 공식으로 생각할 수 있다.
다시 말해 미지의 곡선이 주어졌을 때, 시작점(초기값)
를 알고 있다면, 미분 방정식에서
지점의 접선과 그 기울기를 구할수 있다. (오른쪽 그림을 참고)
접선을 타고 조금 이동한 점을
이라고 하자. 만약
이 여전히 곡선 위에 있다고 가정한다면,
에서와 같은 추론을 이용할 수 있다. 이렇게 몇차례를 반복하면, 다각형곡선
을 구할수 있다. 일반적으로 이 곡선은 원래의 미지의 곡선에서 너무 멀리 발산하지 않는다. 그리고 두 곡선사이의 오차는 단계의 크기를 작게 하고, 구하고자 하는 범위는 유한으로 했을 때 줄일 수 있다.
[편집] 기본 원리
이 방법의 목적은 다음과 같은 조건이 주어졌을 때 함수
의 값을 추정하는 것이다.
이때 함수 f의 정확한 형태를 구하는 것이 목적이 아니고, 구간 a, b 사이에서의 특정한 점들(격자점, mesh point)에서의 f의 값을 찾아내는 것이 목적이다. 구간 [a,b]를 N개의 구간으로 나누었을 때 각각의 점을
이라고 하자. 이때
이 구간의 크기가 된다. 함수 f 에 대한 테일러 급수를 이용하면,
이
에 있는 어떤
에 대해 성립한다. 우리는
라는 것을 알고 있기 때문에,

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

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

[편집] 알고리즘
[편집] 코드
- C/C++ 코드
- Maple 코드
[편집] 참고
| 이 글은 컴퓨터에 관한 토막글입니다. 서로의 지식을 모아 알차게 문서를 완성해 갑시다. |
| 이 글은 수학에 관한 토막글입니다. 서로의 지식을 모아 알차게 문서를 완성해 갑시다. |


