今日のアニソン、「SHIROBAKO」から『あいむそーりーEXODUS』 [今日のアニソン]
オリジナルはコッチ↓
お前らに質問(前進差分と後退差分) [数値解析]
お前らに質問(前進差分と後退差分)!!
次の微分方程式の初期値問題がある。
この微分方程式の解がであることは言うまでもない。
ところで、この微分方程式を差分方程式で近似すると、
となる。
一方、後退差分を用いて(1)を差分方程式に書き換えると、
Δx=0.1とし、(3)と(5)を用いて計算した結果は次のとおり。
計算結果の大小関係は
後退差分≧厳密解≧前進差分
になる。
次に、
について考える。
この解がであることは明らかだろう。
前進差分の場合、
後退差分の場合、
h=0.1とし、(7)、(8)を用いて計算すると、
となり、大小関係が逆転し、
前進差分≧厳密解≧後退差分
の順になる。
これは偶然ですかい?
それとも、この大小関係の逆転、そして、厳密解が前進差分と後退差分による数値解の間に来ることには、何か、深い数学的な理由があるのですか?
お前らに、この深遠な(?)問題について答えてもらおうじゃないか!!
ddt³さんの回答 [ddt³さんの部屋]
[極座標編回答]
-
円の方程式を求めよ。
原点を中心とする半径aの円の方程式は、
(x,y)=(a,0)を中心とする円は、これをx方向にaだけ平行移動すれば良いので、
1)
(2) この円の極座標表示の方程式を答えよ。
(x,y)=(0,0)を中心とする極座標(r,θ)では、
2)
∴1)から、
3)
・・・何か罠が隠されてるんだろうか?(^^;)。
(3) 面積
(x,y)=(a,0)を中心とする極座標(R,φ)では、
4)
この極座標で3)は明らかに、
5)
6)
ここに、
であるが、
4)より、
なので、
だから、
となり、
が得られる。ここに5)から、
である。
・・・駄目?(^^;)。お気持ちはわかりますが(^^)。
(執筆:ddt³さん)
ダメじゃ〜ないけれど、だったら、(x−a)²+y²=a²の中心(a,0)を原点とする新座標系
を設定し、円(x−a)²+y²=a²は
に写されるとした方がわかりやすいんじゃないかな。
どうせ、写像(面)を使っているんし・・・。
なお、青い文字は新座標O'-x'y'系での値。
ddt³さんは、この連休中、新潟の湯沢に夏(?)スキーをしにきているんだケロ。
何故か知らないけれど、松任谷由美と新潟県湯沢町の苗場とは深い関係があるらしいので、この曲でも埋め込みますか。
さらに新しい解法を提示 [数値解析]
さらに新しい解法を提示
§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をあまり大きく取り過ぎると数値的に不安定になり、数値解が激しく振動したりするんだにゃ。知っていたケロか。
非線形でもないかぎり、常微分方程式の初期値問題の数値解法で振動解に見舞われることはないと思うけれど・・・。
計算に使用したスプレッドシートは以下のところに公開
エクセル版
ウェブ版