計算例:2段2次陽的方法の条件の導出
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/07/18 03:25 UTC 版)
「ルンゲ=クッタ法」の記事における「計算例:2段2次陽的方法の条件の導出」の解説
前述の通り、2段の陽的方法が2次精度を持つための係数に対する条件は、 b 1 + b 2 = 1 {\displaystyle b_{1}+b_{2}=1} , b 2 c 2 = 1 / 2 {\displaystyle b_{2}c_{2}=1/2} , かつ b 2 a 21 = 1 / 2 {\displaystyle b_{2}a_{21}=1/2} である。例として、それらの条件の導出を見てみよう。 一般的に2段陽的ルンゲ=クッタ法に対応する配列は以下の通りである(一貫性を用いて c 1 = 0 {\displaystyle c_{1}=0} がわかる)。 0 c 2 a 21 b 1 b 2 {\displaystyle {\begin{array}{c|cc}0&&\\c_{2}&a_{21}&\\\hline &b_{1}&b_{2}\\\end{array}}} 公式から k 2 = f ( t n + c 2 h , y n + h a 21 f ( t n , y n ) ) {\displaystyle k_{2}=f(t_{n}+c_{2}h,y_{n}+ha_{21}f(t_{n},y_{n}))} の f(tn,yn) に関するテイラー展開を考える k 2 = f ( t n , y n ) + c 2 h f t ( t n , y n ) + h a 21 f ( t n , y n ) f y ( t n , y n ) + O ( h 2 ) {\displaystyle k_{2}=f(t_{n},y_{n})+c_{2}hf_{t}(t_{n},y_{n})+ha_{21}f(t_{n},y_{n})f_{y}(t_{n},y_{n})+O(h^{2})} ここで、ft は f の t に関する偏微分である。それを y n + 1 = y n + h ( b 1 k 1 + b 2 k 2 ) {\displaystyle y_{n+1}=y_{n}+h(b_{1}k_{1}+b_{2}k_{2})} に代入し、 k 1 = f ( t n , y n ) {\displaystyle k_{1}=f(t_{n},y_{n})} を用いて整理すると y n + 1 = y n + h ( b 1 + b 2 ) f ( t n , y n ) + h 2 b 2 ( c 2 f t ( t n , y n ) + a 21 f ( t n , y n ) f y ( t n , y n ) ) + O ( h 3 ) {\displaystyle y_{n+1}=y_{n}+h(b_{1}+b_{2})f(t_{n},y_{n})+h^{2}b_{2}(c_{2}f_{t}(t_{n},y_{n})+a_{21}f(t_{n},y_{n})f_{y}(t_{n},y_{n}))+O(h^{3})} となる。同時に、方程式 y ′ ( t ) = f ( t , y ) {\displaystyle y'(t)=f(t,y)} の t に関する微分を取って y' を f(t,y) に置き換えると y ″ ( t ) = f t ( t , y ) + f ( t , y ) f y ( t , y ) {\displaystyle y''(t)=f_{t}(t,y)+f(t,y)f_{y}(t,y)} となる。厳密解を y(t) とする。上記式を用いて y(tn+1) の tn に関するテイラー展開を考える y ( t n + 1 ) = y ( t n ) + h f ( t n , y n ) + 1 2 h 2 ( f t ( t n , y n ) + f ( t n , y n ) f y ( t n , y n ) ) + O ( h 3 ) {\displaystyle y(t_{n+1})=y(t_{n})+hf(t_{n},y_{n})+{\frac {1}{2}}h^{2}(f_{t}(t_{n},y_{n})+f(t_{n},y_{n})f_{y}(t_{n},y_{n}))+O(h^{3})} 2次精度を持つ条件は、局所誤差 e n + 1 , h = y ( t n + 1 ) − y n + 1 = O ( h 3 ) {\displaystyle e_{n+1,h}=y(t_{n+1})-y_{n+1}=O(h^{3})} である。二つの展開式の係数を比較すると、その条件が b 1 + b 2 = 1 {\displaystyle b_{1}+b_{2}=1} , b 2 c 2 = 1 / 2 {\displaystyle b_{2}c_{2}=1/2} , かつ b 2 a 21 = 1 / 2 {\displaystyle b_{2}a_{21}=1/2} であることがわかる。
※この「計算例:2段2次陽的方法の条件の導出」の解説は、「ルンゲ=クッタ法」の解説の一部です。
「計算例:2段2次陽的方法の条件の導出」を含む「ルンゲ=クッタ法」の記事については、「ルンゲ=クッタ法」の概要を参照ください。
- 計算例:2段2次陽的方法の条件の導出のページへのリンク