Mathematics
Euler's Method, 오일러 방법, 오일러 적분
DS-Lee
2020. 9. 10. 23:56
Overview
미분방정식 $\frac{dy}{dx}=f(x, y)$의 수치해를 구하는 방법
작은 상수 $h$를 고정
$x_{k+1}=x_k+h$라 두자
초기값 $(x_0, y_0)$가 주어져 있을 때, 다음의 식을 이용하여 수치해를 구함.
$\therefore y_{k+1}=y_k+hf(x_k, y_k)$
Example
import numpy as np
import matplotlib.pyplot as plt
# expression
y = lambda x: 2**x
y_diff = lambda x: (2**x)*np.log(2) # derivative of exp
# settings
h = 0.1
x_range = np.arange(0, 3, 0.1)
# initial value
init_x = x_range[0]
init_y = y(init_x)
# run
y_euler = [init_y]
for x in x_range[1:]:
y_k1 = y_euler[-1] + h*y_diff(x)
y_euler.append(y_k1)
# plot
plt.plot(x_range, y(x_range), label="Actual")
plt.plot(x_range, y_euler, label='Euler Method');