お前らに課題をひとつ [お前らに質問]
お前らに数値計算の課題をひとつ。
課題の前にこの曲を♪
課題 中心差分を用いて次の微分方程式の初期値問題を解く方法を考えなさい。
その方法を用い、Δx=0.1としてx=1まで計算し、厳密解と数値解とを比較しなさい。
こんなのチョロいぜというヒトは、考えだした方法と修正オイラー法または2次のルンゲクッタ法に数値計算結果とを比較検討しなさい。
なお、中心差分とは、
を用いて近似する方法だからね。
前進差分
を用いて微分方程式を
と近似し、この漸化式を用いて前進的に解けと言っているのではない。
端から自分のアタマで考えることを放棄しているヒトよりは百倍増しだが、これでは、
と、オイラー法と同じものになってしまい、計算の精度が悪くて使い物にならない(下図のオイラー法を参照)。
だから、
この問題を修正オイラー法と同程度の誤差で数値的に解くことのできる方法を自分のアタマで考えだせと言っているんだケロよ。
「冷たく突き放すように見えるけれど、実は、ネムネコは超〜優しい」と、ネムネコの性格を見抜いているヤツは、「ネムネコが俺たちを困らすような難しい課題を出すはずがない。この課題の答はきっと記事中にあるはずだ」と考え、そして、あることに気づき、ヤッパリとほくそ笑むに違いない。
ネムネコに微笑みを返すにゃ。
そこまで気付けた奴は大したもんだ。そして、コイツラはきっと
今日のアニソン、「くまみこ」から『KUMAMIKO DANCING』 [今日のアニソン]
差分法を用いた微分方程式の初期値問題の解法(基礎編) [数値解析]
差分法を用いた微分方程式の初期値問題の解法(基礎編)
次の2階線形微分方程式の初期値問題の差分法を用いた解法について考える。
p=dy/dxとおけば、上の微分方程式は
となり、オイラー法やルンゲ・クッタ法を用いて解くことができる。
オイラー法、ルンゲ・クッタも差分(正確にはテーラー展開)を元にして導出されるので、これらも差分法の一種と考えることができるが、ここでは異なる解法について考えることにする。
計算の起点となる点aをx₀、そして、x₋₁=a−Δx、x₁=a+Δxとし、それに対応するyの値をそれぞれy₀、y₋₁、y₁とすると、x=0における微分は中心差分を用いて、
と近似することができる。
したがって、初期条件より、
となる。
これを2回微分の式に代入すると、
となり、これを微分方程式(1)に代入すると、
となり、この式を用いて未知数であるy₁を求めることができる。
におけるyの推測値については、微分方程式(1)の差分方程式
から、
となり、この漸化式を用いて前進的に解くことができる。
新たに得た漸化式を用いて、次の初期値問題を解くことにする。
このとき、漸化式は
となる。
これならば、表計算ソフトを使って数値解を求めることができる。
Δx=0.1とし、x=3まで計算した結果は次のとおり。
この解法の局所的な打ち切り誤差はO(h³)であり、誤差の程度は修正オイラー法や2次のルンゲ・クッタ法とほぼ同程度と考えられる。
差分法を知っていれば、(修正)オイラー法や2次のルンゲ・クッタ法を知らなくても、線形の微分方程式の初期値問題も解くことができるのであった。
なお、上の初期値問題の厳密解は
である。
この計算に使用したスプレッドシートはコチラ↓
計算結果だけを知りたいヒトはWeb版のコチラ↓を
お前らに問題(9月13日) 楕円編 [お前らに質問]
お前らに問題!!
楕円
の全長の長さLは
である。
ここで、
このことは使っていいとして、では、お前らに問題!!
(1) この曲線が楕円であることを示せ。
(2) この曲線の全長を求めよ。
これだけヒントをつければ、わかるだろう。
言っておくが、
のとき、
ならば、この2次曲線は楕円である、みたいなふざけた回答した奴はぶっ殺すからな。
これじゃ〜、何の解決にもならない!!
「(1)式のE(k)は何だ?」なんて知らなくてもいい。
これはただの記号、オマジナイみたいなものだにゃ。
この問題は難しすぎるというヒトは、閉曲線x²+xy+y²=2の面積でも求めてもらおうか。
だから、
として、チョメチョメ・・・。
とやろうものならば、死亡フラッグが立つこと間違いなし!!
討ち死に必至だね(^^)
なお、点(x,y)を原点を中心に反時計回りにθ回転させた点を(x',y')とすると、
すなわち、
である。
答がないと不安というヒトのために、
全長Lは
面積Sは
ネムネコのお絵かきソフトの答える値と近いから、この答は間違っていないと思うにゃ。