• 検索結果がありません。

● 講義資料

N/A
N/A
Protected

Academic year: 2021

シェア "● 講義資料"

Copied!
8
0
0

読み込み中.... (全文を見る)

全文

(1)

● 講義資料

▼ 講義予定

常微分方程式の初期値問題の数値解法 – Runge-Kutta Methodの安定性 – Runge-Kutta Methodと数値積分

● 前回の講義のまとめ

Runge-Kutta

次の計算スキームをRunge-Kutta 法と呼び,s をその段数と呼ぶ.

ki =f(x0+h

s

X

j=1

aijkj), i= 1, . . . , s,

x1=x0+h

s

X

i=1

biki,

特に,i≤j に対しては, aij= 0が成り立つものを陽的 Runge-Kutta法と呼ぶ. すなわち, ki =f(x0+h

i1

X

j=1

aijkj), i= 1, . . . , s,

x1=x0+h

s

X

i=1

biki, である. 具体的に書けば,





k1=f(x0),

k2=f(x0+ha21k1), x1=x0+h(b1k1+b2k2)

s= 2,













k1=f(x0),

k2=f(x0+ha21k1),

k3=f(x0+ha31k1+ha32k2), x1=x0+h(b1k1+b2k2+b3k3)

s= 3,

などとなる.

• Runge-Kutta法の代表的なものは,以下の通りである.

改良オイラー法 (2段2次)

b1= 0, b2= 1, a21= 1 2,









k1=f(x0), k2=f(x0+h

2k1), x1=x0+hk2

(2)

ホインの2次公式 (2段2次)

b1=b2=1

2, a21= 1,









k1=f(x0), k2=f(x0+hk1), x1=x0+h

2(k1+k2) ホインの3次公式 (3段3次)

b1= 1/4, b2= 0, b3= 3/4, a21= 1/3, a31= 0, a32= 2/3

















k1=f(x0), k2=f(x0+h

3k1), k3=f(x0+2h

3 k2), x1=x0+h

4(k1+ 3k3) クッタの3次公式 (3段3次)

b1= 1/6, b2= 2/3, b3= 1/6, a21= 1/2, a31=−1, a32= 2

















k1=f(x0), k2=f(x0+h

2k1), k3=f(x0−hk1+ 2hk2), x1=x0+h

6(k1+ 4k2+k3) Runge-Kutta (4段4次公式)

a21= 1/2, a31= 0, a32= 1/2, a41= 0, a42= 0, a43= 1, b1= 1/6, b2= 1/3, b3= 1/3, b4= 1/6





























k1=f(x0), k2=f(x0+h

2k1), k3=f(x0+h

2k2), k4=f(x0+h

2k3), x1=x0+h

6(k1+ 2k2+ 2k3+k4)

通常「Runge-Kutta法」と言うときには,上記の4段4次のRunge-Kutta法を指す.

• s段のRunge-Kutta型公式がp次となる条件を求めるためには, 以下の方法が考えられる.

(多くの書籍では,この方法を組み合わせ論的に整理した証明を用いている)

(3)

▼ テイラー展開を書く

x(t+h) =x(t) +hx(t) +h2

2 x′′(t) +h3

3!x(3)(t) +h4

4!x(4)(t) +O(h5), ここで,x[0, T]−→Rn とすれば,t∈[0, T]を固定したとき,

f(x(t)) =f ∈Rn,

f(x(t)) =f∈Hom(Rn,Rn), であることに注意して,

x(t) =f, x′′(t) = d

dtf(x(t)) =f(x(t))x(t) =ff, となる. よって,

x(t+h) =x(t) +hx(t) +h2

2 x′′(t) +O(h3)

=x(t) +hf+h2

2 ff+O(h3) が成り立つ.

ki の展開式を計算する ki hの関数として展開すると,以下が成り立つ.

ki(h) =f(x0+hX

aijkj(h)), ki(h) =f(x0+hX

aijkj(h)) hX

aijkj(h) +X

aijkj(h) , これらのh= 0での値は,

ki(0) =f, ki(0) =fX

aijkj

=X aij

ff となる. これを書き直せば,

ki(0) =f, ki(0) =X

aij

ff

▼ テイラー展開に代入する これらのki(0),ki(0)を使って, x1=x0+hX

biki(h)

=x0+hX

biki(0)

+h2X

biki(0)

+O(h3)

=x0+hX bi

f+h2X biaij

ff +O(h3) が成り立つ.

▼ テイラー展開に代入する この計算を比較すれば,

hの項 X

bi= 1, h2 の項 X

biaij =1 2, をみたせば,局所離散化誤差をh3 とすることができる.

(4)

より高次の条件式は以下の通りである.

3次の条件式





Xbiaijaik = 1 3, Xbiaijajℓ =1

6

4次の条件式





















Xbiaijaikaiℓ=1 4, Xbiaijajkaiℓ= 1

8, Xbiaijajkajℓ= 1 12, Xbiaijajkakℓ = 1

24

これらの条件式を各sについて具体的に書けば以下のようになる.

▼ 2段2次公式

b1+b2= 1, b2a21= 1

2

▼ 3段3次公式

b1+b2+b3= 1,

b2a21+b3(a31+a32) = 1 2, b2a221+b3(a31+a32)2= 1 3, b3a32a21=1

6

▼ 4段4次公式

b1+b2+b3+b4= 1,

a21b2+a31b3+a32b3+a41b4+a42b4+a43b4=1 2, a221b2+ (a31+a32)2b3+ (a41+a42+a43)2b4=1

3, a21a32b3+ (a21a42+a31a43+a32a43)b4= 1

6, a321b2+ (a31+a32)3b3+ (a41+a42+a43)3b4=1

4,

a32a21(a31+a32)b3+b4(a42a21+a43(a31+a32))(a41+a42+a43) = 1 8, a221a32b3+ (a221a42+ (a31+a32)2a43)b4= 1

12, a21a32a43b4= 1

24

これらの条件を満たせば,sp次公式,すなわち,

|x(tn)−xn| ≤Chp となる公式となる.

(5)

なお,1次の条件式P

bi= 1 が成り立つことは,計算スキームが意味を持つための必要条件 であるので,適切性の条件と呼ばれる. 逆に,Pbi = 1さえ成り立っていれば, aij の数値の 入力ミスがあっても, より低い次数の数値解をつくることができてしまうことに注意が必要 である.

陽的Runge-Kutta型公式については,以下の事実が知られている.

– s段でs+ 1次以上の公式をつくることはできない.

– s≥5の時,ss次公式をつくることはできない.

なお, Runge-Kutta法の係数{aij},{bi},{ci},ただし,ci=Ps

j=1aij c1 a11 · · · a1s

... ... ... cs as1 · · · ass

b1 · · · bs

と表記することが多く,これをButcher 行列と呼ぶ.

• Butcher行列を使って,代表的な陽的ルンゲ・クッタ型公式を書くと以下のようになる.

1 1次公式

前進オイラー法 後退オイラー法 0

1

1 1 1 2 2次公式

改良オイラー法 ホインの2次公式 0

1/2 1/2

0 1

0

1 1

1/2 1/2 3 3次公式

ホインの3次公式 クッタの3次公式 0

1/3 1/3

2/3 0 2/3

1/4 0 3/4

0 1/2 1/2

1 −1 2

1/6 2/3 1/6 4 4次公式

ルンゲ・クッタの公式 ルンゲ・クッタ・ジルの公式 0

1/2 1/2

1/2 0 1/2

1 0 0 1

1/6 1/3 1/3 1/6

0

1/2 1/2 1/2 1

212 1−1 2

1 0 −12 1 + 12 1/6 13(1−1

2) 13(1 + 1

2) 1/6

(6)

● 講義資料

Runge-Kutta

法の安定性

以下の図は,s段陽的ルンゲ・クッタ型公式の絶対安定領域を示している.

-3 -2 -1 0 1 2 3

-3 -2 -1 0 1 2 3

Stable Region for Explicit Runge-Kutta Methods s=1 s=2 s=3 s=4

以下の図は, 前進 Euler (λh = −2.0), Runge-Kutta (λh = −3.0) で, y(t) = −λy(t), y(0) = 1.0を解いた例.

-5e+08 -4e+08 -3e+08 -2e+08 -1e+08 0 1e+08 2e+08 3e+08

0 20 40 60 80 100 120 140

Forward Euler. z = 2.5

0 1e+06 2e+06 3e+06 4e+06 5e+06 6e+06

0 20 40 60 80 100 120 140 160

Runge-Kutta. z = 3.0

(7)

▼ 補間法

以下の図は,f(x) = 1

1 + 25x2 を多項式補間した計算例 等間隔補間

n= 2 n= 4 n= 6

-1 -0.5 0.5 1

0.2 0.4 0.6 0.8 1

-1 -0.5 0.5 1

-0.4 -0.2 0.2 0.4 0.6 0.8 1

-1 -0.5 0.5 1

0.2 0.4 0.6 0.8 1

n= 10 n= 14 n= 18

-1 -0.5 0.5 1

0.5 1 1.5 2

-1 -0.5 0.5 1

-0.5 0.5 1 1.5 2 2.5

-1 -0.5 0.5 1

-2 -1 1 2

Chebyshev補間

n= 2 n= 4 n= 6

-1 -0.5 0.5 1

-0.2 0.2 0.4 0.6 0.8 1

-1 -0.5 0.5 1

0.2 0.4 0.6 0.8 1

-1 -0.5 0.5 1

0.2 0.4 0.6 0.8 1

n= 8 n= 10 n= 20

-1 -0.5 0.5 1

0.2 0.4 0.6 0.8 1

-1 -0.5 0.5 1

0.2 0.4 0.6 0.8 1

-1 -0.5 0.5 1

0.2 0.4 0.6 0.8 1

(8)

● 実習内容

1. (★★★)Runge-Kutta型公式から得られる種々の数値積分公式を利用して,以下の積分の 近似値を計算しなさい. また,刻み幅hを変化させたとき,近似値と真の値との誤差のグラフ をつくりなさい.

(a) Z 2

1

dx x (b)

Z 1 0

dx 1 +x2

2. (★★)以下の関数を, 等間隔のサンプル点をとって, 2n次多項式で近似しなさい. (近似 多項式のグラフと,関数のグラフの両方を書いて比較しなさい)

(a) f(x) = cos(x) (区間は [−π/2, π/2]) (b) f(x) = 1

1 + 25x2 (区間は[−1,1])

3. (★)10次以下のLegrandre多項式の零点(の近似値)をすべて計算しなさい.

4. (★)10次以下のChebyshev 多項式の零点(の近似値)をすべて計算しなさい.

5. (★)等間隔のサンプル点を用いて, f(x) = 1

1 + 25x2 を区間[−1,1上で2n次多項式で近 似しなさい. (近似多項式のグラフと,関数のグラフの両方を書いて比較しなさい)

6. (★)チェビシェフ多項式の零点をサンプル点として,f(x) = 1

1 + 25x2 を区間[−1,1上で 2n次多項式で近似しなさい. (近似多項式のグラフと,関数のグラフの両方を書いて比較し なさい)

参照

関連したドキュメント

が前スライドの (i)-(iii) を満たすとする.このとき,以下の3つの公理を 満たす整数を に対する degree ( 次数 ) といい, と書く..

この資料には、当社または当社グループ(以下、TDKグループといいます。)に関する業績見通し、計

7208.37--厚さが 4.75 ミリメートル以上 10 ミリメートル以下のもの 7208.38--厚さが3ミリメートル以上 4.75 ミリメートル未満のもの

○ 通院 をしている回答者の行先は、 自宅の近所 が大半です。次いで、 赤羽駅周辺 、 23区内

、コメント1点、あとは、期末の小 論文で 70 点とします(「全て持ち込 み可」の小論文式で、①最も印象に 残った講義の要約 10 点、②最も印象 に残った Q&R 要約

1 100超え 191 75超え~100以下 233 50超え~75以下 267 20超え~50以下 186 10超え~20以下 129 5超え~10以下 145 1超え~5以下 51 1以下 1203 計 102.69

1 100超え 191 75超え~100以下 233 50超え~75以下 267 20超え~50以下 186 10超え~20以下 129 5超え~10以下 145 1超え~5以下 51 1以下 1203 計 102.69

ⅱろ過池流入水濁度:10 度以下(緩速ろ過の粒子除去率 99~99.9%を考 慮すると、ろ過水濁度の目標値を満たすためには流入水濁度は 10