SSブログ

どれが修正オイラー法なの? [数値解析]

どれが修正オイラー法なの?

 

 

微分方程式の初期値問題

  

があるとする。

 

ねこ騙し数学では、

とするとき、

  dorega-001.png

を修正オイラー法(改良オイラー法)、

  doraga-002.png

を2次のルンゲ・クッタ法と呼んでいるが、(2)をホイン(Heun)法、(3)を修正オイラー法と呼ぶヒトがいるなど、その呼称はヒト、書籍などによって異なっているようである。

 

そして、新たに、修正オイラー法(?)と呼ばれる方法を紹介する。

 

まず、オイラー法を用いてにおける(1)の厳密解を予想する。

  

この値を求め、次のように修正する。

  

さらに、この値を用い

  

以下、同様に、

  

と計算を繰り返し、収束値

  

とする方法。

 

ネムネコが大学院時代から使っている数値解析の本ーー結構、有名な数値解析の古典で、教科書(海外の教科書の翻訳)ーーでは、この方法をホイン法(オイラー・ガウス予測修正子法)と呼んでいる。

混乱の極みにある。

そして、ネムネコは、カビが生えるくらい古臭いこの教科書ーーサンプルプログラムは、いつの時代の「ふぉーとらん」かわからないくらい古いもの(だって、この本が書かれたのは1960年代!!)で、そのサンプルプログラムを現代のFortranでコンパイルすると、エラーが出る(笑)ーーの呼称に従っている。リスペクトだにゃ。

 

さて、例によって、次の初期値問題を例にこの方法を具体的に紹介することにする。

 

  

 

この微分方程式の解がであることは言うまでもないだろう。

 

さて、(7)をオイラー法で離散化すると、

  

になる。

修正オイラー法(2)の場合は、

  

2次のルンゲ・クッタ法も同じく

  

そして、厳密解の場合は

  

(8)、(9)、(10)の括弧の中を注目して欲しいのだけれど、オイラー法は(10)式の2次以上の項を切り捨てたもので、修正オイラー法3次以上の高次の項を切り捨てたものになっていることがわかるだろう。

つまり、このことからも、(8)式の局所的な(離散化)誤差の程度はO(h²)、(9)の局所的な(離散化)誤差の程度はO(h³)であることが確かめられる。

 

ここで新たな修正オイラー法の場合を説明する。

まず、オイラー法(8)でを推測するので、

  

次に、(5)式で修正するので、

  

さらに、

  

となり、

  

になる。

(10)と(11)を比較すると、(10)の3次の項h³/6、(11)の3次の項はh³/4で食い違っているので、極限値(12)にどれくらいの意味があるのかは疑問だが、h=0.1のとき、

  

になり、これから

  

であることがわかるにゃ。

ちなみに、修正オイラー法は

  

で、だから、今回、あらたな修正オイラー法(ホイン法?)の方がより厳密解に近いことがわかる。

 

問 次のことを示せ。

  doraga-006.png

 

次に、h=0.1として、新たな修正オイラー法(ホイン法?)で、y(0.1)の近似値を求めるにゃ。

  

この問題の場合、2、3回程度修正すれば、よいことがわかる。

よりも真実の値から返って遠ざかり、精度を悪化させるので、この問題の場合、3回以上の修正は無意味だね。

次のを求めるためには、で得た1.10525とし、

  dorega-008.png

とする。

 

この新しい修正オイラー法(ホイン法?)は、厳密解との局所的な誤差を(2)式で定式化される修正オイラー法の1/2程度に抑えることが出来るんだケロ。

 

 

すごいケロ。

 

でも、だから、の方がよりもいい値なんだにゃ。

何とも皮肉な話である。

 

この他にも、オイラー・リチャードソン法なんてのもある・・・。

 

Improved Euler's Methodの訳語も、修正オイラー法、改良オイラー法の2種類があり、さらに、混乱に拍車をかけているように思う。

ホント、困ってしまう。

 

 Improved Euler's Method : 改良オイラー法(?)
 Modified Euler's Method :  修正オイラー法(?)

 

こう翻訳した(・・?

 

ネット上に存在する、 大学の先生が書いた数値計算の記事でも2次のルンゲ・クッタ法を修正オイラー法と呼んでいるものがあるので、これらの記事を読むとき、十分、気をつけたほうがいいケロよ。


nice!(1)  コメント(0) 

チョットお前らに質問!! (直線に関して対称な点) [お前らに質問]

チョットお前らに質問!! (直線に関して対称な点)

 

チョットお前らに次の問題を問うにゃ。

 

daihint.png問題 大きさが1の単位ベクトルに平行で原点Oを通る直線lがある。直線lに関して点Pと対称な点P’を求めよ。

 

問題を簡単化するために、直線lxy平面上にあって、点Pの座標を(x,y)、点P’の座標を(x',y')、さらに、直線lとx軸のなす角度はθとしますか。

こうすると、直線lの傾きmは、

  

になり、直線lの方程式は

  

になるにゃ。

さらに、

  

 

こんな抽象的(?)な問題は解けないというやつは、

何なら、θ=60°としてもいいぞ。

θ=45°はダメだケロよ。

これは、

  

だから。

 

θ±90°のときは、直線lはy軸と一致するので・・・。

 

裏を返せば、求めた式にθ=45°を代入したとき、

  

にならなければ、その式は間違っているってことだにゃ。

 

返って問題を難しくしている気がしないでもないが、

お前がベクトルなんて高等なものを使えるはずがないから、成分計算に持ち込めるように、座標を設定したやったにゃ。

 

ベクトルを使える奴は、とし、を用いて、を表すにゃ。

さらに、できたら、これが1次変換であることを示すにゃ。

 

ネムネコは優しいから、絵までつけてやったにゃ。

これで解けなければ、お前らが悪いと思うケロ!!

 

 

【この問題に手も足も出ないダルマさんへの大ヒント】

Pを原点Oまわりに−θ回転させると、lx軸は一致する。

この−θ回転させることによって、点P`が点Q(X,Y)に移り、点P'が点Q(X',Y')に移動したとすると、

  

そして、これを原点Oまわりにθ回転させれば・・・。

 



説明を抜きにすれば、ベクトルを使うと、たったの2行で解ける問題だと思うが、ダサダサの方法で、しどろもどろになりながら解くといいにゃ。
ダルマさんへのヒントは大嘘かもしれないし、自分の頭で考えて解くといいケロよ。


ネムネコが思いもつかない超〜ダサい解答、思いついても計算が大変なので絶対にそうは解かないーー計算が大変だと、ネムネコは、計算途中で絶対に計算間違いをする!!ーー解答を募集しているにゃ。出来た奴は、コメント欄にその解答を書いて、ネムネコのところに送信するケロ。

nice!(0)  コメント(0) 
共通テーマ:音楽

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。