룽에-쿠타 방법
개요
- 미분방정식
\[ \frac{dy}{dx}=f(x,y) \label{eqn} \] 의 수치해를 구하는 방법
- 작은 상수 \(h\)를 고정
- \(x_{k+1}=x_{k}+h\)라 두자
- 초기값 \((x_0,y_0)\)가 주어져 있을 때, 다음의 점화식을 이용하여 \ref{eqn}의 수치해를 구함
\[ y_{k+1} = y_k + \tfrac{1}{6}h\left(z_1 + 2z_2 + 2z_3 + z_4 \right) \]
여기서 \[ \begin{align} z_1 &= f(x_k, y_k) \\ z_2 &= f(x_k + \tfrac{1}{2}h, y_k + \tfrac{1}{2}h z_1) \\ z_3 &= f(x_k + \tfrac{1}{2}h, y_k + \tfrac{1}{2}h z_2) \\ z_4 &= f(x_k + h, y_k + h z_3) \end{align} \]
- 일반적으로, 적당한 상수 \(\alpha_0,\{\alpha_j,b_j,\mu_j\}_{j=1}^{p}\)에 대하여 다음과 같은 형태의 점화식을 이용하여 \ref{eqn}의 수치해를 구하는 것을 룽에-쿠타 방법이라 함
\[ y_{k+1} = y_k + h\left(\alpha_0(x_k,y_k)+\sum_{j=1}^{p}\alpha_jf(x_k+\mu_jh,y_k+b_jh) \right) \]
예
미분방정식 \(y'=y\)
- \(h=0.1\), \(x_0=0,y_0=1\)
\[ \begin{array}{c|c|c|c|c} x & \text{Runge-Kutta} & e^x \\ \hline 0. & 1 & 1. \\ 0.1 & 1.10517 & 1.10517 \\ 0.2 & 1.2214 & 1.2214 \\ 0.3 & 1.34986 & 1.34986 \\ 0.4 & 1.49182 & 1.49182 \\ 0.5 & 1.64872 & 1.64872 \\ 0.6 & 1.82212 & 1.82212 \\ 0.7 & 2.01375 & 2.01375 \\ 0.8 & 2.22554 & 2.22554 \\ 0.9 & 2.4596 & 2.4596 \\ 1. & 2.71828 & 2.71828 \\ \end{array} \]
미분방정식 \(y'=-2x y\)
- \(h=0.1\), \(x_0=0,y_0=1\)
\[ \begin{array}{c|c|c} x & \text{Runge-Kutta} & e^{-x^2} \\ \hline 0. & 1 & 1. \\ 0.1 & 0.99005 & 0.99005 \\ 0.2 & 0.960789 & 0.960789 \\ 0.3 & 0.913931 & 0.913931 \\ 0.4 & 0.852144 & 0.852144 \\ 0.5 & 0.778801 & 0.778801 \\ 0.6 & 0.697676 & 0.697676 \\ 0.7 & 0.612627 & 0.612626 \\ 0.8 & 0.527293 & 0.527292 \\ 0.9 & 0.444859 & 0.444858 \\ 1. & 0.367881 & 0.367879 \\ \end{array} \]
미분방정식 \(y'+y=x\)
- \(h=0.1\), \(x_0=0,y_0=1\)
\[ \begin{array}{c|c|c} x & \text{Runge-Kutta} & x+2 e^{-x}-1 \\ \hline 0. & 1 & 1. \\ 0.1 & 0.909675 & 0.909675 \\ 0.2 & 0.837462 & 0.837462 \\ 0.3 & 0.781637 & 0.781636 \\ 0.4 & 0.740641 & 0.74064 \\ 0.5 & 0.713062 & 0.713061 \\ 0.6 & 0.697624 & 0.697623 \\ 0.7 & 0.693171 & 0.693171 \\ 0.8 & 0.698659 & 0.698658 \\ 0.9 & 0.71314 & 0.713139 \\ 1. & 0.73576 & 0.735759 \\ \end{array} \]
연립 미분방정식에의 응용
- 연립미분방정식
\[ \begin{align} y' &= f(x,y,u) \\ u'&= g(x,y,u) \end{align} \label{eqn2} \]
- 초기값 \((x_0,y_0,u_0)\)가 주어져 있을 때, 다음의 점화식을 이용하여 \ref{eqn2}의 수치해를 구함
\[ \begin{align} y_{k+1} & = y_k + \tfrac{1}{6}h\left(z_1 + 2z_2 + 2z_3 + z_4 \right)\\ u_{k+1} & = u_k + \tfrac{1}{6}h\left(w_1 + 2w_2 + 2w_3 + w_4 \right)\\ \end{align} \]
여기서 \[ \begin{align} z_1 &= f(x_k, y_k,u_k) \\ z_2 &= f(x_k + \tfrac{1}{2}h, y_k + \tfrac{1}{2}h z_1,u_k+\tfrac{1}{2}h w_1) \\ z_3 &= f(x_k + \tfrac{1}{2}h, y_k + \tfrac{1}{2}h z_2,u_k+\tfrac{1}{2}h w_2) \\ z_4 &= f(x_k + h, y_k + h z_3,u_k+h w_3) \end{align} \] 그리고 \[ \begin{align} w_1 &= g(x_k, y_k,u_k) \\ w_2 &= g(x_k + \tfrac{1}{2}h, y_k + \tfrac{1}{2}h z_1,u_k+\tfrac{1}{2}h w_1) \\ w_3 &= g(x_k + \tfrac{1}{2}h, y_k + \tfrac{1}{2}h z_2,u_k+\tfrac{1}{2}h w_2) \\ w_4 &= g(x_k + h, y_k + h z_3,u_k+h w_3) \end{align} \]
\(y''+y=0\)의 예
- 미분방정식 \(y''=-y\)은 연립미분방정식 \(y'=u, u'=-y\)으로 이해할 수 있다
- \ref{eqn2}에서 \(f(x,y,u)=u, g(x,y,u)=-y\)인 경우에 해당
- \(h=0.1\), \(x_0=0,y_0=0,u_0=-1\)로 두면 다음을 얻는다
\[ \begin{array}{c|c|c} x & \text{Runge-Kutta} & \sin x \\ \hline 0. & 0 & 0. \\ 0.1 & 0.0998333 & 0.0998334 \\ 0.2 & 0.198669 & 0.198669 \\ 0.3 & 0.29552 & 0.29552 \\ 0.4 & 0.389418 & 0.389418 \\ 0.5 & 0.479425 & 0.479426 \\ 0.6 & 0.564642 & 0.564642 \\ 0.7 & 0.644217 & 0.644218 \\ 0.8 & 0.717356 & 0.717356 \\ 0.9 & 0.783326 & 0.783327 \\ 1. & 0.84147 & 0.841471 \\ \end{array} \]
관련된 항목들
매스매티카 파일 및 계산 리소스