さらに新しい解法を提示 [数値解析]
さらに新しい解法を提示
§1 平均してみた
次の1階常微分方程式の初期値問題がある。
前進差分(陽解法?)を用いてこの微分方程式を差分方程式に書き換えると、
これから、次の漸化式が得られる。
初期条件からx₀=0のときのy=y₀=0を計算の起点に、(2)を用いてy₁、y₂、・・・と前進的にx=x₁、x₂、・・・におけるyの値を求めることができる。
対して、後退差分を用いる場合(陰解法?)は、微分方程式を差分方程式
に書き換え、次の漸化式が得られる。
前進差分の場合と同様に微分方程式の数値解を求めることができる。
Δx=0.1について解いたものは次のとおり。
前進差分を用いた数値解は厳密解より大きく、後退差分の場合は厳密解の値よりも小さくなることがわかる。
絶対誤差も同程度なので、前進差分と後退差分を用いた結果を足して2で割れば、厳密解により近くなのではないかと予想できる。
予想通り、よく一致しているにゃ。
計算結果をグラフで表すと、この微分方程式の厳密解
と完全に一致しているように見える(^^)
数値計算って不思議で奥が深い、面白いと思わないかい?
§2 少しだけ数学的な話
微分方程式(4)を前進差分を用いて差分方程式で近似すると、
これから、
という漸化式が得られる。
y₀=1なので、この漸化式から与えられる一般項は
になる。
[0,1]をn等分したものを
とおき、i=nとすれば、
n→∞のときの極限値を求めると、
となり、厳密解のy(1)=1/eと一致する。
このことは、コンピュータを用いて数値的に計算する場合、コンピュータによる計算に特有な丸め誤差などがあるのでそのとおりにならないけれど、分割数を大きくすればするほど、すなわち、分割の幅を小さくすればするほど、数値解と厳密解の誤差は小さくなり、終局的に、この両者は完全に一致する、ということを表している。数値解析の分野では、このことを適合性(consitency)があると表現する。
適合性または整合性 (consistency)
空間および時間を離散化した時の格子幅を限りなく0に近づけたときに、離散化方程式と元の微分方程式の差が0に収束することである。この差は一般には格子点についてのテイラー展開によって評価される。
https://goo.gl/2FFiDU
大きく脱線してしまった。ネムネコはこんなことを話したいわけではない。
漸化式(5)からの一般項は
になる。
したがって、
になる。
だ・か・ら、数値解の値が正しいかどうかは別にして、前進差分の数値解が意味を持つのは0<Δx<2の場合なんだケロ。
0<Δx<2という条件を満たさないと、この計算法は安定じゃない。
対して、後退差分を用いた解法は、
で、
が成立するので、Δxの値にかからず、
となり、数値的に安定している。
後退差分を用いたこの解法は無条件安定なんだケロ。
常微分方程式の初期値問題によく使われるルンゲ・クッタ法も前進差分を用いているので、Δxをあまり大きく取り過ぎると数値的に不安定になり、数値解が激しく振動したりするんだにゃ。知っていたケロか。
非線形でもないかぎり、常微分方程式の初期値問題の数値解法で振動解に見舞われることはないと思うけれど・・・。
計算に使用したスプレッドシートは以下のところに公開
エクセル版
ウェブ版
コメント 0