1. Euler 법
ㅇ 1계 미분방정식의 초기값 문제에 대한 수치적 해를 구하는, 가장 간단한 수치해법
ㅇ (명칭) `점 기울기 법`, `접선 근사법`, `Euler-Cauchy 법`이라고도 불리움
2. Euler 법의 특징
ㅇ 상 미분방정식을 푸는 가장 간단한 수치 해법
- 비교적 오차는 크나, 알고리즘이 매우 간단함
ㅇ 비교적 오차가 큼
- 구간간격의 작은 변화에도 급격하게 영향을 줌
- 다만, 구간간격을 작게하면 정확도는 개선되나,
- 이에따라, 계산 스텝 수가 늘어나므로, 실행 시간이 길어짐
ㅇ 테일러 근사로부터 유도됨
- 새로운 점에 대한 근사값이,
- 이전 점의 `접선`과 새로운 점의 `수직선`과의 `교점`에서 얻어짐
3. Euler 방법에 의한, 1계 미분방정식 문제 풀이 방식
ㅇ 문제
- {# dy/dt = f(t,y), \quad y(t_0) = y_0 #}
. y : 미지의 함수, f(t,y) : 기지의 함수, y0 : 초기값
ㅇ Euler 접근법
- 문제의 미분방정식을,
{# dy/dt = f(t,y) #}
- 미분의 차분 근사식으로부터,
{# dy/dt \approx [y(t+Δt) - y(t)]/Δt #}
- 재귀적으로, 수치 근사 계산이 가능한 차분방정식으로 바꿈
{# [y(t+Δt) - y(t)]/Δt = f(t,y) #}
{# y(t+Δt) = y(t) + f(t,y)Δt #}
{# y(t_{k+1}) = y(t_k) + f(t_k,y(t_k))Δt #}
.. f(tk,y(tk)) : 증분 함수 (접선 기울기)
.. Δt : 구간 간격 (균등 간격 임)
- 위 차분방정식 형태는,
. 해 곡선의 접선 방정식과 동등한 형태임 ☞ 접선 방정식 참조
.. 다음 값 = 초기값 + 기울기 x (구간 간격)
.. {# y_1 = y_0 + f(t_0,y_0)(t_1 - t_0) #}
. 또한, 테일러 급수를 활용한, 1차 테일러 근사와 동등한 형태임
.. {# f(t) = f(a) + f'(a)(t-a) + \cdots #}
ㅇ 수정된 Euler 접근법
- 오차를 줄이기 위해, 평균을 취해 사용
. y(tk+1) = y(tk) + Δt/2 (fk + fk+1)
.. fk = f[tk,y(tk)]
ㅇ 풀이
- 점(t0,y0)을 시작점으로하여,
. 다른 t의 값들에서 미지의 함수 y의 값들을 연이어 구함
- 각 단계의 시작점에서는,
. `함수 f(t,y)의 값`을 해당 단계의 `기울기`로 취함
. 여기서, f(t,y) = dy/dt 임
- 결국,
. 새로운값 = 이전값 + 기울기 x 구간간격 = 이전값 + f(t,y)Δt
4. Euler 방법에 의한, 알고리즘
ㅇ 처음에, 구간간격을 산출함 ⓛ
ㅇ 주어진 초기값부터 시작하여, ②
ㅇ for 반복문을, 구간 간격 스텝 수(N) 만큼, 실행시키며, ③
- 이어지는 다른 t의 값들에서, 연이어 근사값을 구하게 됨 ④
h = (b - a)/N ... ①
y[a] = y[0] ... ②
for i (0,...,N-1) ... ③
y[i+1] = y[i] + h f(t[i],y[i]) ... ④