Euler's Method

解こうとする微分方程式が y′=f(t,y(t)),初期値がy(t0)=y0のとき,まずtを幅hで区切ってt0=0,t1=h,t2=2h,t3=3h, …とし,最初はt=0における接線で近似,その後は,yn+1=yn+h・f(tn,yn)として,2点(tn,yn), (tn+1,yn+1)を結ぶ直線で近似していくという方法です.
簡単な例として,厳密解(解析解)がy=etになる微分方程式y′=yを見てみましょう.初期値はy0=1になります.この例ではf(tn,yn)=ynなので,yn+1=yn+h・ynとして(tn,yn)を次々に求めて行き,折れ線グラフを作っていくというイメージです.
y1=y0+h⋅y0=1+h⋅1=1+h
y2=y1+h⋅y1=(1+h)+h⋅(1+h)=(1+h)2
y3+h⋅y3=(1+h)2+h⋅(1+h)2=(1+h)3
例えば,h=0.5なら,y1=1.5,y2=2.25,y3=3.375,y4=5.0625,…となって,右図のようになります.
(オレンジ色がEuler's methodによる近似解,青色がy=ex)
hの値(分割の幅)が小さいほどより良い近似になりますが,その分,計算は煩雑になります.hの値を変えたらどうなるかわかるものをGeoGebraで作ってみましたので,試してみてください.
因みにEuler's Methodは,世界中最も多くの国で普及している高校カリキュラム「国際バカロレアディプロマプログラム(IB Diploma Program)」のMathematics Higher Level(主に理系向き)のOption科目"Calculus"に登場します。
余談ですが,日本語の方のWikipediaで,1か所間違いを見つけたので訂正しておきました.これでWikipediaの記事を訂正したのは4~5回目ぐらいになのですが,以前に訂正した内容を記録してなくて思い出せないので,今後履歴が残るように今回初めてWikipediaにアカウント登録してみました.
<reference>
Euler method
https://en.wikipedia.org/wiki/Euler_method
オイラー法
https://ja.wikipedia.org/wiki/%E3%82%AA%E3%82%A4%E3%83%A9%E3%83%BC%E6%B3%95
0 件のコメント:
コメントを投稿