"룽에-쿠타 방법"의 두 판 사이의 차이

수학노트
둘러보기로 가기 검색하러 가기
(새 문서: ==개요== * 미분방정식 $$ \frac{dy}{dx}=f(x,y) $$ 의 수치해를 구하는 방법 * 작은 상수 $h$를 고정 * $x_{n+1}=x_{n}+h$라 두자 * 초기값 $(x_0,y_0)$가 주어...)
 
 
(같은 사용자의 중간 판 5개는 보이지 않습니다)
1번째 줄: 1번째 줄:
 
==개요==
 
==개요==
 
* 미분방정식
 
* 미분방정식
$$
+
:<math>
\frac{dy}{dx}=f(x,y)
+
\frac{dy}{dx}=f(x,y) \label{eqn}
$$
+
</math>
 
의 수치해를 구하는 방법
 
의 수치해를 구하는 방법
* 작은 상수 $h$를 고정
+
* 작은 상수 <math>h</math>를 고정
* $x_{n+1}=x_{n}+h$라 두자
+
* <math>x_{k+1}=x_{k}+h</math>라 두자
* 초기값 $(x_0,y_0)$가 주어져 있을 때, 다음의 점화식을 이용하여 수치해를 구함
+
* 초기값 <math>(x_0,y_0)</math>가 주어져 있을 때, 다음의 점화식을 이용하여 \ref{eqn}의 수치해를 구함
:<math>\begin{align}
+
:<math>
y_{n+1} &= y_n + \tfrac{1}{6}h\left(k_1 + 2k_2 + 2k_3 + k_4 \right) \\
+
y_{k+1} = y_k + \tfrac{1}{6}h\left(z_1 + 2z_2 + 2z_3 + z_4 \right)
\end{align}</math>
+
</math>
  
 
여기서
 
여기서
 
:<math>
 
:<math>
 
\begin{align}  
 
\begin{align}  
k_1 &= f(x_n, y_n)
+
z_1 &= f(x_k, y_k)
 
\\
 
\\
k_2 &= f(x_n + \tfrac{1}{2}h, y_n + \tfrac{1}{2}h k_1)
+
z_2 &= f(x_k + \tfrac{1}{2}h, y_k + \tfrac{1}{2}h z_1)
 
\\
 
\\
k_3 &= f(x_n + \tfrac{1}{2}h, y_n + \tfrac{1}{2}h k_2)
+
z_3 &= f(x_k + \tfrac{1}{2}h, y_k + \tfrac{1}{2}h z_2)
 
\\
 
\\
k_4 &= f(x_n + h, y_n + h k_3)
+
z_4 &= f(x_k + h, y_k + h z_3)
 
\end{align}
 
\end{align}
 
</math>
 
</math>
 
+
* 일반적으로, 적당한 상수 <math>\alpha_0,\{\alpha_j,b_j,\mu_j\}_{j=1}^{p}</math>에 대하여 다음과 같은 형태의 점화식을 이용하여 \ref{eqn}의 수치해를 구하는 것을 룽에-쿠타 방법이라 함
 +
:<math>
 +
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)
 +
</math>
  
 
==예==
 
==예==
===미분방정식 $y'=y$===
+
===미분방정식 <math>y'=y</math>===
* $h=0.1$, $x_0=0,y_0=1$
+
* <math>h=0.1</math>, <math>x_0=0,y_0=1</math>
$$
+
:<math>
 
\begin{array}{c|c|c|c|c}
 
\begin{array}{c|c|c|c|c}
 
x & \text{Runge-Kutta} & e^x \\
 
x & \text{Runge-Kutta} & e^x \\
45번째 줄: 48번째 줄:
 
  1. & 2.71828 & 2.71828 \\
 
  1. & 2.71828 & 2.71828 \\
 
\end{array}
 
\end{array}
$$
+
</math>
  
  
===미분방정식 $y'=-2x y$===
+
===미분방정식 <math>y'=-2x y</math>===
* $h=0.05$, $x_0=0,y_0=1$
+
* <math>h=0.1</math>, <math>x_0=0,y_0=1</math>
$$
+
:<math>
 
\begin{array}{c|c|c}
 
\begin{array}{c|c|c}
 
  x & \text{Runge-Kutta} & e^{-x^2} \\
 
  x & \text{Runge-Kutta} & e^{-x^2} \\
66번째 줄: 69번째 줄:
 
  1. & 0.367881 & 0.367879 \\
 
  1. & 0.367881 & 0.367879 \\
 
\end{array}
 
\end{array}
$$
+
</math>
  
  
===미분방정식 $y'+y=x$===
+
===미분방정식 <math>y'+y=x</math>===
* $h=0.05$, $x_0=0,y_0=1$
+
* <math>h=0.1</math>, <math>x_0=0,y_0=1</math>
$$
+
:<math>
 
\begin{array}{c|c|c}
 
\begin{array}{c|c|c}
 
  x & \text{Runge-Kutta} & x+2 e^{-x}-1 \\
 
  x & \text{Runge-Kutta} & x+2 e^{-x}-1 \\
87번째 줄: 90번째 줄:
 
  1. & 0.73576 & 0.735759 \\
 
  1. & 0.73576 & 0.735759 \\
 
\end{array}
 
\end{array}
$$
+
</math>
 +
 
 +
==연립 미분방정식에의 응용==
 +
* 연립미분방정식
 +
:<math>
 +
\begin{align}
 +
y' &= f(x,y,u)
 +
\\
 +
u'&= g(x,y,u)
 +
\end{align}
 +
\label{eqn2}
 +
</math>
 +
* 초기값 <math>(x_0,y_0,u_0)</math>가 주어져 있을 때, 다음의 점화식을 이용하여 \ref{eqn2}의 수치해를 구함
 +
:<math>
 +
\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}
 +
</math>
 +
 
 +
여기서
 +
:<math>
 +
\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}
 +
</math>
 +
그리고
 +
:<math>
 +
\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}
 +
</math>
 +
 
 +
===<math>y''+y=0</math>의 예===
 +
* 미분방정식 <math>y''=-y</math>은 연립미분방정식 <math>y'=u, u'=-y</math>으로 이해할 수 있다
 +
* \ref{eqn2}에서 <math>f(x,y,u)=u, g(x,y,u)=-y</math>인 경우에 해당
 +
* <math>h=0.1</math>,  <math>x_0=0,y_0=0,u_0=-1</math>로 두면 다음을 얻는다
 +
:<math>
 +
\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}
 +
</math>
 +
 
  
  
 
==관련된 항목들==
 
==관련된 항목들==
 
* [[오일러 방법]]
 
* [[오일러 방법]]
 
 
  
 
==매스매티카 파일 및 계산 리소스==
 
==매스매티카 파일 및 계산 리소스==

2020년 11월 12일 (목) 23:28 기준 최신판

개요

  • 미분방정식

\[ \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} \]


관련된 항목들

매스매티카 파일 및 계산 리소스


사전 형태의 자료