ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Euler's Method, 오일러 방법, 오일러 적분
    Mathematics 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');

    output error gets larger as $x$ increases

     

    Comments