• Tidak ada hasil yang ditemukan

オイラー(Euler) 法の基礎 - 北海道大学

N/A
N/A
Protected

Academic year: 2024

Membagikan "オイラー(Euler) 法の基礎 - 北海道大学"

Copied!
7
0
0

Teks penuh

(1)

オイラー (Euler) 法の基礎

常微分方程式の数値積分法については別のノートでより多くの種類を詳しく紹介 する. ここでは最も原始的な解法であるオイラー法を紹介する1 ).

オイラー法の公式

今,常微分方程式

∂ xi(t)

∂t =f(x1(t), x2(t),· · · , xm(t), t) (a ≤t≤b, i= 1,2,· · · , m) (1) 初期条件:xi(a) = x0

を解くことを考える.

オイラー法とは常微分方程式の初期値問題を解くもっとも原始的な解法である. 刻 み幅と呼ばれる量hを仮に置き,独立変数t

tn =a+nh(ただしn= 0,1,2, . . .) (2) というように刻み幅ごとに変化させたときに,その都度各未知関数の値xi(tn)を刻 み幅hが十分小さいと仮定して

xi(tn)≈xin (3)

となると近似する. このとき

fni ≡fi(x1n, . . . , xmn, tn)

xin+1 ≈xin+hfni (4)

1 )オイラー法の安定性などの詳しい話も別のノート(「時間差分スキーム:1段階スキームの振 動方程式への応用」など)でする.

(2)

として次々と定めていくことでx(t)を求める. (4)式を導く. dxi(t)

dt =fi(x1n(t), . . . , xmn(t), tn) (5) 左辺の微分を差分で近似すると

xin+1−xin

tn+1−tn ≈fni. (6)

左辺の分母を(1)式を用いて変形すると, xin+1−xin

h =fni. (7)

よって

xin+1 =xin+hfni (8)

となる.

m = 1の時の概念図を図1にまとめた. この方法は初期条件xi0 が与えられている ために可能である.

図1: オイラー法の概念図. 青線は点(tn, xn)での傾きf(xn)の直線. tn+1のときの 値xn+1x(tn+1)での値と同じと近似して計算していく.

(3)

オイラー法の打切り誤差

簡単のため以下では m = 1 の場合を考え, オイラー法の打切り誤差ϵ を求める. x(tn+1)をt =tnの周りでテイラー展開すると,

x(tn+1) = x(tn) +

dx(t) dt

t=tn

·h+ 1 2

d2x(t) dt2

t=tn

·h2+· · · (9)

となる. 式(9)を用いてxn+1xnを用いて近似すると,

xn+1≈xn+ dxn

dt

t=tn

·h+ 1 2

d2xn dt2

t=tn

·h2+· · · (10)

と表されるだろう. オイラー法では近似解をt =tnの周りでテイラー展開した式 において1次の項までを考慮し,

xn+1 ≈xn+hfn (11)

と表される. x(tn) = xnとしたとき,オイラー法の式(11)はテイラー展開した式(9) の1次の項まで一致する. このとき, 1ステップ目の打切り誤差ϵ

ϵ=x(tn+1)−xn+1

=x(tn) +

dx(t) dt

t=tn

·h+O(h2)(xn+hfn)

=O(h2) (12)

となる2 ).

刻み幅を固定してオイラー法をくりかえし計算した場合の誤差の合計を評価して みよう. t =tnにおけるxの値xnがオイラー法によって計算されたとすると,

xn ≈xn1+hfn1

≈xn2+hfn2 +hfn1

≈x0+hf0+hf1+· · ·hfn−2+hfn−1 (13) となる. それぞれのステップでの誤差はほぼ等しいとすると,n ステップまでの誤 差の合計 εは1ステップあたりの誤差×n とみなせる. オイラー法の1ステップ あたりの誤差はO(h2)なので,

ε=n×O(h2) (14)

2 )q次の項までテイラー展開が一致するような数値計算法による誤差は,O(hq+1)となる.

(4)

となる.

a, bを固定して刻み幅を変化させた場合の誤差の合計εを評価してみよう. tn =tn1+h

=tn2+ 2h

=a+nh (15)

と表されるので,

t= b−a

h (16)

となる. よってステップ数nO((b−a)h1)となる. したがってε

ε=O((b−a)h1)×O(h2)

=O((b−a)h) (17)

となる.

刻み幅を決めるときの注意

実際に問題を解くときに困るのは,刻み幅hの値と,そのhを用いて得られた数値 解がどこまで良く近似しているかという点である. これらについては各論あるが, 結局のところfiが良く知られた関数でない限りはよくわからない. 実践的には,区 間 [a, b]で何点かという程度のかなり大きめのhを設定しておき,hの幅を徐々に 半分にしていきながら繰り返し同じ問題を解くのが良い. これを試してみると,最 初はhh

2 の数値解がかなり食い違うが,徐々にある値に近づいていく様子が見 られる.

積分範囲を固定した場合のオイラー法による数値解の誤差は, 式(17)よりhに比 例する. よってhを半分にすると誤差も約半分になるという傾向がある. あるhを 与えオイラー法を用いて計算した値をx,˜ 真の値をα, 真の値からの数値解の誤差 を˜ϵとすると,

˜

x=α+ ˜ϵ. (18)

さらにhを半分としオイラー法を用いてxを計算する. そのときの値をx,˜˜ 誤差を

˜˜

ϵとすると

˜˜

x=α+ ˜˜ϵ. (19)

(5)

このときx˜とx˜˜との差は

˜

x−x˜˜= ˜ϵ−˜˜ϵ (20) となる. 刻み幅hを半分にすると誤差も半分になるので

˜

x−x˜˜= 2˜˜ϵ−˜˜ϵ

= ˜˜ϵ (21)

となる. 刻み幅をh/2とした場合の誤差˜˜ϵは刻み幅をhとした場合の数値解と刻 み幅をh/2とした場合の数値解との差と同じ程度の大きさになる.

刻み幅をさらに半分にしてオイラー法をを用いて計算する場合を考える. このとき の数値解の値をx˜˜˜とすると同様に

˜˜

x−x˜˜˜= ˜˜ϵ 2

= 1 2

˜ ϵ 2

= 1

2(˜x−x).˜˜ (22)

よって, 「x˜˜とx˜˜˜の差がx˜とx˜˜の差の約半分である」ということが,「オイラー法 を用いた数値計算が機能している」ことの指標にもなる.

このように数値解法ではさまざまな刻み幅を与えた計算を試みなければならず,し かも最終的な解を求める計算以外は実質無駄である. この「無駄」な手間の量を見 積もってみる. 刻み幅を十分大きくとった計算から始め,刻み幅をその半分,またそ の半分として計算をくりかえし行い,刻み幅をhとした場合に最終的な解が得られ たと判断する. この最終的な解が得られたときの計算の手間の量をM とする. こ の計算の一つ前,つまり刻み幅を2hとした場合の計算の手間の量は,計算の回数が 半分になっているのでM/2である. さらに刻み幅をその倍,倍とした場合を考え ると, k回前の計算でかかった手間の量はM/2kとなる. よって「無駄」な手間の 量Sは,

S = X k=1

M 2k

= lim

k→∞(M M 2k)

≤M (23)

となる. よって多く見積もっても「有効な手間の量」と同じ程度となる. このよう に,たかだか2倍の計算量で結果に対する自信と保証とが得られると考えれば,さ

(6)

ほど無駄は大きくないと捉えることもできる. 微分方程式の数値解に時々現れる

「不安定現象」3 )や「幻影解」4 )なども,このように眺めればすぐに発見できる.

3 )解の発散のことである.

4 )誤差の蓄積によって真の解とかけ離れた解となってしまった数値解のことである.

(7)

例題

次の常微分方程式からx(t)を求めよ.

(1) dx

dt = 1−x2, x(0) = 0 (0 ≤t≤1.6).

解析解はtanhtである. この解析解との誤差を求めよ. (2) dx

dt =−ωx, x(0) = 1 (0≤t 1.0).

ここでω = πとする. 解析解はexp (−ωt)である. この解析解との誤差を求 めよ.

参考文献

伊理正夫,藤野和建, 1985,「数値計算の常識」 共立出版, ISBN 4320013433

Mesinger, F., and Arakawa, A., 1976, Numerical methods used in atmospheric models, GARP Publications series (World Meteorological Organization), No. 17, Part 1., 64 pp

石岡 圭一, 2004,「スペクトル法による数値計算入門」,東京大学出版会, ISBN:4130613057

Referensi

Dokumen terkait

今後の方針 • 差分法を用いた雲対流モデル deepconv に金星の雲物理を組み込む – Baker and Schubert 1998 を再計算する – Imamura and Hashimoto 2002 をレビュー し、 H2SO4 雲について学ぶ • 金星探査機 Akatsuki のデータとシミュ レーション結果との比較検討...

ただし積分路C は原

なお, 上記の付録と同様に長田直樹著雑誌「理系への数学」連載「お話:数値解 析第 3 回」を参考にオイラー・マクローリンの公式を導く.. 連載記事は http://www.cis.twcu.ac.jp/~osada/rikei/rikei2008-7.pdfにてPDF形式で閲覧する

GFDワークノート 第10章 一次元移流方程式の数値解法 2 この方法の精度は誤差 ²≡unj −uj∆x, n∆t を計算することで分かる.. 第8章での考察から, ²=O∆t,∆x 時間方向,

ただし積分路C は原 点とfzの全ての特異点を含む閉曲線を反時計周りに1周するものとする... 12.5 留数定理を用いた複素積分

物理数学II演習 48 13.2 留数の計算 1 複素関数fzが閉曲線C上で連続,Cで囲まれた領域Dの点z0でm位の極を持 つとする... 物理数学II演習 49 13.3 留数の計算 2

なお, この条件で式1の解析 解を描画すると,図1のようになる... ここで, 下つき添字のr,