中点法

が正確な値に等しいと仮定した中点法の図解 中点法では、赤い弦が中点 (緑の線) の接線とほぼ平行になるように計算されます。yn{\displaystyle y_{n}}ytn{\displaystyle y(t_{n}).}yn+1{\displaystyle y_{n+1}}

応用数学の一分野である数値解析において、中点法は微分方程式を数値的に解く1段階の方法である。

ytftytyt0y0y'(t)=f(t,y(t)),\quad y(t_{0})=y_{0}.}

明示的中点法は次の式で与えられる。

暗黙的中点法

ここで、はステップサイズ(小さな正の数値)であり、はの計算された近似値である。陽的中点法は修正オイラー法とも呼ばれる[ 1 ]。陰的法は最も単純な選点法であり、ハミルトン力学に適用するとシンプレクティック積分法となる。なお、修正オイラー法はホイン法[ 2 ]を指す場合もある。より明確にするためには、ルンゲ・クッタ法の一覧を参照ことn012{\displaystyle n=0,1,2,\dots }h{\displaystyle h}tnt0+nh{\displaystyle t_{n}=t_{0}+nh,}yn{\displaystyle y_{n}}ytn{\displaystyle y(t_{n}).}

この方法の名前は、上記の式で、解の傾きを与える関数が、の値が既知である点との値が求められる 点の中間点で評価されるという事実に由来しています。f{\displaystyle f}ttn+h/2tn+tn+12{\displaystyle t=t_{n}+h/2={\tfrac {t_{n}+t_{n+1}}{2}},}tn{\displaystyle t_{n}}yt{\displaystyle y(t)}tn+1{\displaystyle t_{n+1}}yt{\displaystyle y(t)}

幾何学的な解釈をすると、この手法をより直感的に理解できるかもしれません (右の図を参照)。基本的なオイラー法では、 における曲線の接線はを使用して計算されます。次の値は、接線が垂直線 と交差する場所で求められます。しかし、2 次導関数が と の間でのみ正、またはのみ負の場合(図のように)、曲線は接線からどんどん離れていくため、 が増加するにつれて誤差が大きくなります。図は、中間点 (上部の緑の線分) における接線がその区間の曲線のより正確な近似値を与える可能性が高いことを示しています。しかし、この中間点の接線は、曲線 (計算対象) がわからないため正確に計算できません。その代わりに、この接線は、中間点での の値を推定するオリジナルのオイラー法を使用して推定し、次に で接線の傾きを計算します。最後に、改善された接線を使用してからの値を計算します。この最後のステップは、図の赤い弦で表されています。赤い弦は、中点における の値を推定する際に誤差が生じているため、緑の線分(真の接線)と正確に平行ではないことに注意してください。 tnyn{\displaystyle (t_{n},y_{n})}ftnyn{\displaystyle f(t_{n},y_{n})}yn+1{\displaystyle y_{n+1}}ttn+1{\displaystyle t=t_{n+1}}tn{\displaystyle t_{n}}tn+1{\displaystyle t_{n+1}}h{\displaystyle h}yt{\displaystyle y(t)}f{\displaystyle f()}yn+1{\displaystyle y_{n+1}}yn{\displaystyle y_{n}}yt{\displaystyle y(t)}

中点法の各ステップにおける局所誤差は オーダーであり、大域誤差は オーダーである。したがって、オイラー法よりも計算負荷は大きいものの、中点法の誤差は一般に のにつれてより速く減少する。 h3{\displaystyle O\left(h^{3}\right)}h2{\displaystyle O\left(h^{2}\right)}h0{\displaystyle h\to 0}

これらの方法は、ルンゲ・クッタ法と呼ばれる高階法のクラスの例です。

中点法の導出

方程式の数値積分の図。青:オイラー法、緑:中点法、赤:厳密解。ステップサイズはyyy01.{\displaystyle y'=y,y(0)=1.}yet{\displaystyle y=e^{t}.}h1.0。{\displaystyle h=1.0.}
同じ図では、中点法はオイラー法よりも早く収束することがわかります。h0.25。{\displaystyle h=0.25.}

中点法はオイラー法の改良法である

yn+1yn+hftnyn{\displaystyle y_{n+1}=y_{n}+hf(t_{n},y_{n}),\,}

も同様の方法で導出されます。オイラー法を導出する鍵は、近似的な等式です。

これは傾きの式から得られる

そしてそれを念頭に置いてyfty{\displaystyle y'=f(t,y).}

中点法では、(3)をより正確な

yt+h2yt+hyth{\displaystyle y'\left(t+{\frac {h}{2}}\right)\approx {\frac {y(t+h)-y(t)}{h}}}

(2)の代わりに

この式を使って を求めることはできません。なぜなら、におけるが分からないからです。その場合、 を求めるには、オイラー法を用いるのと全く同じようにテイラー級数展開を用います。 yt+h{\displaystyle y(t+h)}y{\displaystyle y}t+h/2{\displaystyle t+h/2}yt+h/2{\displaystyle y(t+h/2)}

yt+h2yt+h2ytyt+h2ftyt{\displaystyle y\left(t+{\frac {h}{2}}\right)\approx y(t)+{\frac {h}{2}}y'(t)=y(t)+{\frac {h}{2}}f(t,y(t)),}

これを(4)に代入すると、

yt+hyt+hft+h2yt+h2ftyt{\displaystyle y(t+h)\approx y(t)+hf\left(t+{\frac {h}{2}},y(t)+{\frac {h}{2}}f(t,y(t))\right)}

明示的中点法(1e)

暗黙法(1i)は、半音における値をからまでの線分の中点で近似することによって得られる。t+h/2{\displaystyle t+h/2}yt{\displaystyle y(t)}yt+h{\displaystyle y(t+h)}

yt+h212yt+yt+h{\displaystyle y\left(t+{\frac {h}{2}}\right)\approx {\frac {1}{2}}{\bigl (}y(t)+y(t+h){\bigr )}}

そしてこうして

yt+hythyt+h2ft+h212yt+yt+h{\displaystyle {\frac {y(t+h)-y(t)}{h}}\approx y'\left(t+{\frac {h}{2}}\right)\approx k=f\left(t+{\frac {h}{2}},{\frac {1}{2}}{\bigl (}y(t)+y(t+h){\bigr )}\right)}

暗黙的ルンゲ・クッタ法に結果 の近似値を挿入するyn+h{\displaystyle y_{n}+h\,k}ytn+h{\displaystyle y(t_{n}+h)}

ftn+h2yn+h2yn+1yn+h{\displaystyle {\begin{aligned}k&=f\left(t_{n}+{\frac {h}{2}},y_{n}+{\frac {h}{2}}k\right)\\y_{n+1}&=y_{n}+h\,k\end{aligned}}}

最初の部分に ステップ サイズを含む暗黙のオイラー法が含まれています。h/2{\displaystyle h/2}

暗黙法の時間対称性により、局所誤差の偶数次項はすべて打ち消されるため、局所誤差は自動的に次数 になります。 の決定において暗黙オイラー法を明示的オイラー法に置き換えると、結果は再び明示的中点法になります。 h{\displaystyle h}h3{\displaystyle {\mathcal {O}}(h^{3})}{\displaystyle k}

参照

注記

参考文献

  • グリフィス, DV; スミス, IM (1991).エンジニアのための数値解析:プログラミングアプローチ. ボカラトン: CRC Press. p. 218. ISBN 0-8493-8610-1
  • Süli, Endre; Mayers, David (2003), 『数値解析入門』 , Cambridge University Press , ISBN 0-521-00794-1
  • バーデン、リチャード; フェアーズ、ジョン (2010).数値解析. リチャード・ストラットン. p. 286. ISBN 978-0-538-73351-9