728x90
Euler's method

Euler's method

  • 가장 단순한 미분법
  • Initial value problem
    • dydt=f(t,y), atb,y(a)=α\frac{dy}{dt}=f(t,y),\ a\leq t\leq b, y(a)=\alpha
    • [a,b] 범위를 n등분 : ti=a+ih, i=0,1,2,...,nt_i=a+ih,\ i=0,1,2,...,n
    • h=(ba)/n=ti+1tih=(b-a)/n=t_{i+1}-t_i를 step size라고 정의
  • euler's method 유도를 위한 taylor's theorem
    • y(ti+1)=y(ti)+(ti+1ti)y(ti)+(ti+1t)22y(ζi) (tiζti+1)y(t_{i+1})=y(t_i)+(t_{i+1}-t_i)y'(t_i)+\frac{(t_{i+1}-t)^2}{2}y''(\zeta_i)\ (t_i\leq\zeta\leq t_{i+1})
    • step size 공식에 의해 y(ti+1)=y(ti)+hf(ti,y(ti))+h22y(ζi)y(t_{i+1})=y(t_i)+hf(t_i, y(t_i)) + \frac{h^2}{2}y''(\zeta_i)

  • Euler's method
    • wiy(ti)w_i\simeq y(t_i)로 정으
    • w0=αw_0 = \alpha
    • wi+1=wi+hf(ti,wi)w_{i+1}=w_i+hf(t_i, w_i)
  • ex. h = 0.5, y(0)=0.5, y=yt2+1y'=y-t^2+1
    • w0=y(0)=0.5w_0=y(0)=0.5
    • w1=w0+0.5(w002+1)w_1=w_0+0.5(w_0-0^2+1)
    • w2=w1+0.5(w1(0.5)2+1w_2=w_1+0.5(w_1-(0.5)^2+1
  • wj+1=wj+hf(tj,wj)w_{j+1}=w_j+hf(t_j, w_j) : worward euler method
    • h가 커지면 발산할 위험이 있음
  • wj+1wj+hf(tj+1,yj+1)w_{j+1}\simeq w_j + hf(t_{j+1}, y_{j+1}) : backward euler method
    • wj+1w_{j+1}을 풀어야 하나, stable한 장점이 있음

  • Runge-Katta method (order 2)
    • tjtj+1ydt=tjtj+1f(t,y(t))dtyj+1yjh2[f(tj,yj)+f(tj+1,yj+1)]\int^{t_{j+1}}_{t_j}y'dt=\int^{t_{j+1}}_{t_j}f(t, y(t))dt\\\rarr y_{j+1}-y_j\simeq \frac{h}{2}[f(t_j, y_j) + f(t_{j+1}, y_{j+1})] : Implicit
    • Explicit : yj+1yjh2[f(tj,yj)+f(tj+1,yj+1)^]y_{j+1}-y_j\simeq \frac{h}{2}[f(t_j, y_j) + f(t_{j+1}, \hat{y_{j+1})}]
      • yj+1yj+1^=yj+hf(tj,yj)y_{j+1}\simeq\hat{y_{j+1}}=y_j+hf(t_j, y_j)
  • Runge-Katta method (order 4)
    • Implicit : yj+1yj=h6[f(tj,yj)+4f(tj+1/2,yj+1/2)+f(tj+1,yj+1)]y_{j+1}-y_j = \frac{h}{6}[f(t_j, y_j) + 4f(t_{j+1/2}, y_{j+1/2})+f(t_{j+1}, y_{j+1})]
    • Explicit : yj+1yj=h6[f(tj,yj)+2f(tj+1/2,yj+1/2^)+2f(tj+1/2,yj+1/2^^)+f(tj+1,yj+1^)]y_{j+1}-y_j = \frac{h}{6}[f(t_j, y_j) + 2f(t_{j+1/2}, \hat{y_{j+1/2}})+2f(t_{j+1/2}, \hat{\hat{y_{j+1/2}}})+f(t_{j+1}, \hat{y_{j+1}})]
      • yj+1/2^=yj+h2f(tj,yj)\hat{y_{j+1/2}}=y_j+\frac{h}{2}f(t_j, y_j)
      • yj+1/2^^=yj+h2f(tj,yj^)\hat{\hat{y_{j+1/2}}}=y_j+\frac{h}{2}f(t_j, \hat{y_j})
      • yj+1^=yj+hf(tj+yj+1/2^^)\hat{y_{j+1}}=y_j+hf(t_j+\hat{\hat{y_{j+1/2}}})
728x90

+ Recent posts