Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
数値計算法第10章数値積分その1
第12章 微分方程式その1第13章 微分方程式その2
千葉大学工学部総合工学科機械工学コース担当者 武居昌宏
教科書数値計算入門 (Computer Science Library)河村哲也 (著) 出版社:サイエンス社 (2006/04) ISBN-10: 9784781911267
第10章数値積分その1 10.1区分求積法と台形公式
● xj-1のときの短冊面積からの全体体積
●xjのときの短冊面積からの全体体積
…(10.1)
…(10.2)
n
jjjj
b
axxxfxxf
111 ))((d)(
n
jjjj
b
axxxfxxf
11))((d)(
●台形面積からの全体の面積
区間[a,b]をn等分
…(10.4)
…(10.3)
n
jjjjj
b
axxxfxfxxf
111 )()()(
2
1d)(
)()(2)2(2)(2)(2
d)( bfhbfhafhafafh
xxfb
a
初期値S=0, S:=S + f(a + jh)
最初と最後を除いて係数は2
=2S
台形面積
a b
(j=1,2,…..,n-1) 面積S:={f(a) + 2S + f(b)}h/2
h
10.2 シンプソンの公式 この放物線
ラグランジュ補間
[x2j-2 , x2j]で積分すると
短冊の個数が偶数2M個
●P点通る ● Q点通る
定数
この面積Sj
h h
f(x2j-2)
f(x2j-1)
f(x2j)
x0 x1x2
● R点通る
cbxaxy 2
…(10.6)
ただしα1,α2,α3は、
h
h2h
上式にhを代入すると、
31
h
3
42
h
33
h
(10.6)式の短冊2個分の面積Sjは
)()(4)(3
21222 jjjj xfxfxfh
S
偶数P点 偶数R点奇数Q点…(10.8)
●短冊の幅が等間隔の場合h= (b-a) / 2M
この面積Sj
h h
f(x2j-2)
f(x2j-1)
f(x2j)
x0 x1 x2
偶数
偶数
奇数
※教科書ミスプリあり
初期値 j=0, f(x0) 偶数P点S偶数= 0, f(x1)奇数Q点S奇数 = f(a + h)
S奇数:= S奇数 + f(a + (j + 1)h)S偶数 := S偶数+f(a + jh)
短冊2M個とし、x0 = a(最初の点), x2M = b(最後の点)とおく。式(10.8){ }をhとaで表す
aからbまで全体の面積は
※短冊の個数は偶数2M個jは1からMまで
…(10.7)
)(2)(4)(2)(4)(3
d)( 43210 xfxfxfxfxfh
xxfb
a
f(a + h)
最初f(a) f(a + 2h) f(a + 3h) f(a + 4h)
f(b)最後
f(a + (2M - 2)h) f(a + (2M – 1)h)
係数4と2
が繰り返し出現
奇数Q点 PとR点
)()(4)(2 21222 MMM xfxfxf …(10.9)
Q点 偶数PとR点
奇数Q点偶数PとR点
…
その後jは偶数(2,4,…2M-2)↑f(a)は後でSに入れるのでここでは0
●シンプソンの公式による積分まとめ 教科書ミスプリあり注意
偶数PとR点奇数Q点最初のP点f(x0)ここはS偶数に
入れない
1. 2M, a, b,fを入力← x0 = a, x2M = bとおく2. h = (b - a)/2M S偶数とS奇数の初期値設定
j = 0, f(x0) の偶数P点:S偶数=0 f(x1)の奇数Q点: S奇数=f(a + h),3. j = 2,4,…, 2M-2に対して ← jは2から2M-2までの偶数に注意
奇数S奇数:= S奇数 + f(a + (j + 1)h)偶数S偶数:= S偶数 + f(a + jh)
j = 2,4,…, 2M-2 面積S
h h
←ここは次の
j→
a+jh
偶数
偶数
奇数
j=2を入れるとf(x3)の奇数Q点
j=2を入れるとf(x2)の偶数R点
最後のR点(x2M)ここもS偶数に
入れないj= 2M-2を
入れるとf(a + (2M - 2)h)の偶数P点
j= 2M-2を入れるとf(a + (2M – 1)h)の奇数Q点
f(a)はあとでSに入れる
←S奇数とS偶数の順番注意4. S = { f(a) + 4S奇数 + 2S偶数 + f(b) } h/3
f(a + (j + 1)h)
f(a + jh)
a+(j+1)h
7
前置き 微分方程式の分類
●線形と非線形
線型微分方程式
●斉次方程式の特徴斉次方程式の解 s(x)の定数倍 cs(x)も解解の線形結合もその斉次方程式の解
●斉次(同次)と非斉次
右辺が関数または定数 α
すべての項が未知関数か 0
非斉次方程式
斉次方程式
非線型微分方程式
)()(d
dxgxf
x
)()(d
d)(
d
dxgxf
xxf
x
0)()(d
d xfxf
x
)()(d
dxfxf
x
0 x x +Δx
y(x +Δx)
y(x)y(0)=a
傾き: 𝑓 𝑥, 𝑦(𝑥)
y(x)
第12章 微分方程式その1
●1階常微分法方程式
式(12.1)を式(12.3)の左辺に代入して変形
y(Δx)の値が求まる
y(2Δx)の値が求まる
y
…(12.3)
…(12.4)
…(12.1)
…(12.2)
x
xyxxy
x
y
)()(
d
d
)(,)()( xyxxfxyxxy
)(3
d
)(d
tvdgV
t
tvV
ppfp
pp
y(x)
x
ストークス抵抗
浮力
重力
体積
)(3 tvdp
gVpf
gVpp
速度v(t) pV
初期条件
12.1オイラー法(1)
自然落下する物体の速度v(t)
x=0を代入するとΔxきざみでyの値が求まる初期条件より既知
式(12.1)より既知
●差分近似
●例1 1階微分方程式の初期値問題
[0,X]をn等分するとΔx = X/n
X=1にしてΔx -> 0、すなわちn-> ∞のときy(1)=e
この式にx=0を代入
●ネイピア数の定義y = exの x = 0 における微分係数は 1
y = ex
…(12.4))()()( xxyxyxxy
y' = ex
xx1
21 x
31 x
x x
12.2 オイラー法(2)
刻み幅は、一定である必要はない
式(12.4)を一般化すると
刻み幅が等間隔のとき、
jjjjjj yxfxxyy ,11
図12.2 離散化
jjjj yxxfyy ,1 …(12.6)
1. f(x,y), x0, xn, n, aを入力2. Δx = (xn - x0)/n, y0 = a3. j=0,1,2,……, n-1に対して次の計算を行う
xj+1 = xj + Δx yj+1 = yj + f(xj, yj)Δx
●オイラー法のアルゴリズムのまとめ
●例1 リッカチの微分方程式
(非線形1階常微分方程式)初期条件x0 = 0, y0 = 0.5, Δx = 0.1
厳密解は、
式(12.4)より
表12.1 近似解と厳密解の比較 参照
= f(x,y)
= f(x0,y0)
= f(x1,y1)
2)()()( yxryxqxpdx
dy
1つの特殊解y1を、y = y1+uとおくとuがベルヌーイ形微分方程式になる KdV方程式
●非線形1階常微分方程式の例リッカチ形
ベルヌーイ形
nyxryxqdx
dy)()(
)1,0( n
ソリトン:非線形方程式に従う孤立波
063
3
x
u
x
uu
t
u
位置座標を
Miura変換(リッカチ形)
2),(),( txvtxux
v
変形KdV方程式
063
32
x
v
x
vv
t
v
)(sech 3txv
2)()()( yxryxqxpdx
dy
https://ja.wikipedia.org/wiki/KdV方程式
葛飾北斎「神奈川沖浪裏」
https://ja.wikipedia.org/wiki/
●ホイン法(2次ルンゲクッタ法)
(はじめ傾き)と (終わりの傾き)を定義
jjjjjj
jj
yxhfyhxfyxfh
yy
,,,2
1
これを正確に求めたい!!𝑦 𝑥𝑗+1= 𝑦𝑗+1
𝑦 𝑥𝑗= 𝑦𝑗
xjの傾きだとこの分が誤差
xjの傾き𝑓 𝑥𝑗 , 𝑦𝑗
𝑥𝑗
ℎ
𝑥𝑗+1 x
y 𝑦(𝑥)
この高さ𝑦(𝑥𝑗) + ℎ𝑓(𝑥𝑗 , 𝑦𝑗)
をyj+1と仮定している。y(0)=a
xj+1の傾きf●→を
𝑓 𝑥𝑗 + ℎ, 𝑦(𝑥𝑗) + ℎ𝑓(𝑥𝑗, 𝑦𝑗) とおく。
≅ 𝑦𝑗+1 これは既知
= 𝑥𝑗+1
ホイン法のアイデアyの増分をどのように表すか?⇒区間両端の傾きf●→とf●→の傾きの平均値を使う
= 𝑥𝑗+1
≅ 𝑦𝑗+1
12.3 精度の向上
…(12.1)
…(12.2)
𝑑𝑦
𝑑𝑥= 𝑓 𝑥, 𝑦
𝑦 0 = 𝑎
オイラー法: yの増
分をはじめの点の傾きだけで決める。
微分方程式 (12.1)をテイラー展開式 (12.7)に代入すると、
…(12.8)
…(12.7)
●ホイン法のテイラー展開による考察
f(x,y)はxとy(x)の関数⇒y(x)が不明⇒xで微分できない⇒全微分…(12.9)
第2項まで残すと、
…(12.10)…(12.11)
𝑑𝑓 =𝜕𝑓
𝜕𝑥𝑑𝑥+
𝜕𝑓
𝜕𝑦𝑑𝑦
𝑑𝑓
𝑑𝑥=𝜕𝑓
𝜕𝑥
𝑑𝑥
𝑑𝑥+𝜕𝑓
𝜕𝑦
𝑑𝑦
𝑑𝑥= 𝑓𝑥 + 𝑓𝑓𝑦
この式の意味?𝑦 𝑥 + ℎ = 𝑦 𝑥 + ℎ 𝑓 𝑥, 𝑦 +
1
2ℎ 𝑓𝑥 + 𝑓𝑓𝑦
…(12.1) …(12.2)𝑑𝑦
𝑑𝑥= 𝑓 𝑥, 𝑦 𝑓 0 = 𝑎
2変数のテイラー展開次ページ参照
両端の傾きf ●→とf ●→の線形和(rとs)で考える
𝑟𝑓 𝑥, 𝑦 + 𝑠𝑓 𝑥 + ℎ, 𝑦 + ℎ𝑓
= 𝑟𝑓 𝑥, 𝑦 + 𝑠 𝑓 𝑥, 𝑦 + ℎ𝑓𝑥 + ℎ𝑓𝑓𝑦= (𝑟 + 𝑠)𝑓 𝑥, 𝑦 + 𝑠ℎ𝑓𝑥 + 𝑠ℎ𝑓𝑓𝑦
※式(12.11) { }内に注目!! 式(12.14)と同じ
はじめのxjのfの値をjで表す 次のxj+1のfの値もjで表す●点の傾き ●点の傾き
…(12.17)
…(12.11)
𝑦 𝑥 + ℎ = 𝑦 𝑥 + ℎ 𝑓 𝑥, 𝑦 +1
2ℎ 𝑓𝑥 + 𝑓𝑓𝑦
第2項までのテイラー展開の式
…(12.14)
r=s=1/2⇒両端の平均値
𝑓 𝑥, 𝑦 +1
2ℎ 𝑓𝑥 + 𝑓𝑓𝑦
※𝑓 = 𝑓(𝑥, 𝑦)と表記
ホイン法
xの傾きf(x,y)
x x+h
x
y
𝑦(𝑥)
ℎ
x+hの傾きf(x+h,y+hy)𝑦(𝑥 + ℎ)
𝑦(𝑥) + ℎ𝑓(𝑥, 𝑦)
●復習:全微分係数(2変数関数の微分係数)について補足偏微分係数にdxとdyをかけるとわかりやすい!!
𝒙𝟎 ∈ 𝑹𝑛 を考えるのでdfをgrad 𝑓(𝒙𝟎)・(𝒙 − 𝒙𝟎)とも表記する。
ここは内積
dfは各偏導関数にdx,dyをかけた高さ
𝑑𝑓 =𝜕𝑓
𝜕𝑥𝑑𝑥+
𝜕𝑓
𝜕𝑦𝑑𝑦の直観的な意味
f
𝜕𝑓
𝜕𝑦𝑑𝑦
𝜕𝑓
𝜕𝑥𝑑𝑥
𝜕𝑓
𝜕𝑥𝑑𝑥
𝜕𝑓
𝜕𝑦𝑑𝑦
傾き𝜕𝑓
𝜕𝑥
傾き𝜕𝑓
𝜕𝑦
𝒙𝟎
式(12.1)より、(x,y)平面の傾きf(x,y)をz方向にプロットした曲面式(12.10)はそれをさらにxで微分したもの
曲面𝑓(𝑥, 𝑦)
…(12.10)
A
●(12.14)式 復習 2変数のテイラー展開
これ以降の項を省略すると
𝑓 𝑥 + ℎ, 𝑦 + ℎ𝑓 = 𝑓 𝑥, 𝑦 + ℎ𝑓𝑥 + ℎ𝑓𝑓𝑦 …(12.14)
𝑓 𝑥 + ℎ, 𝑦 + ℎ𝑓 = 𝑓 𝑥, 𝑦 +1
1!ℎ𝑓𝑥 + ℎ𝑓𝑓𝑦
+1
2!ℎ2𝑓𝑥𝑥 + 2ℎ ℎ𝑓 𝑓𝑥𝑦 + ℎ𝑓 2𝑓𝑦𝑦 +⋯+
とおくと
𝑓 𝑥 + ℎ, 𝑦 + 𝑘
= 𝑓 𝑥, 𝑦 +1
1!ℎ𝜕
𝜕𝑥+ 𝑘
𝜕
𝜕𝑦𝑓 𝑥, 𝑦 +
1
2!ℎ𝜕
𝜕𝑥+ 𝑘
𝜕
𝜕𝑦
2
𝑓 𝑥, 𝑦
(12.14)式ではkをhfと思い、
yyxyxxyx fkhkffhkfhfyxf
kyhxf
22 2!2
1
!1
1),(
),( この項が出現 注意!!
…
12.4 4次のルンゲ・クッタ法
⇐ホイン法のs1と同じ。
⇐ホイン法のs2と似ている。ただしs3を用いる。
⇐s1を使ってs2を表す。
⇐s2を使ってs3を表す。
yj+1をyjと区間内4点の傾き(s1~
s4)の加重平均にh乗じて求める
●ホイン法(2次のルンゲクッタ法)
s1 (はじめ傾き)とs2 (終わりの傾き)を定義
yj+1をyj、s1およびs2から求める
jj yxfs ,1 12 , hsyhxfs jj
2112
ssh
yy jj
●4次のルンゲ・クッタ法●
●
●
●
‥‥(12.18)
s1~s4はyjとxj
で書ける!!
xjの傾きs1
𝑥𝑗
ℎ/2𝑥𝑗+1
x
y
𝑦(𝑥)
ℎ/2
xj+h/2傾きs2
xj+h/2傾きs3 xj+h
傾きs4
s3 = 0.07502 , s4 = 0.07506
初期条件x0 = 0, y0 = 0.5, h = 0.1
= f(x)
●例1 リッカチの方程式(ルンゲ・クッタ法)
…(12.18)
●
●
● ●
●
●
●
●
第13章 微分方程式その2 13.1 予測子・修正子法
𝑥𝑗−𝑘, 𝑥𝑗+1 で積分 予測子・修正子法では積分で求める
左辺を積分…(13.1)
オイラー法・ルンゲクッタ法⇒既知の𝑥𝑗、𝑥𝑗+1と𝑦𝑗 から 𝑦𝑗+1を直接求める方法
…(12.1), …(12.2)
式(13.3)はyj+1が含まれているので計算できない。
右辺は台形公式で積分
k=0として 𝑥𝑗 , 𝑥𝑗+1 で積分
𝑥𝑗
𝑥𝑗+1
𝑓 𝑥, 𝑦 𝑑𝑥 ≅ℎ
2𝑓 𝑥𝑗 , 𝑦𝑗 + 𝑓 𝑥𝑗+1, 𝑦𝑗+1
…(13.3)
𝑑𝑦
𝑑𝑥= 𝑓 𝑥, 𝑦
𝑥𝑗−𝑘
𝑥𝑗+1 𝑑𝑦
𝑑𝑥𝑑𝑥 =
𝑥𝑗−𝑘
𝑥𝑗+1
𝑓 𝑥, 𝑦 𝑑𝑥
…(13.2)
𝑥𝑗−𝑘
𝑥𝑗+1 𝑑𝑦
𝑑𝑥𝑑𝑥 = 𝑦 𝑥𝑗−𝑘
𝑥𝑗+1= 𝑦 𝑥𝑗+1 − 𝑦(𝑥𝑗−𝑘) = 𝑦𝑗+1 − 𝑦𝑗−𝑘
𝑦 0 = 𝑎
予測子・修正子法 2段階で計算 予測子(陽的公式)で近似値𝑦 ∗𝑗+1の予測修正子(陰的公式)で𝑦𝑗+1修正
k=0、式(13.2)
=式(13.3)
予測子: 𝑦 ∗𝑗+1
予測子𝑦 ∗𝑗+1 を例えばオイラー法で予測
修正子(陰的公式):予測した𝑦 ∗𝑗+1から𝑦𝑗+1を台形公式で求める
*11
1
,,2
jjjj
jj
yxfyxfh
yy
jjjj yxhfyy ,*1 …(13.5)𝑦𝑗+1
yj
xj+1の傾き
xjの傾き𝑓 𝑥𝑗 , 𝑦𝑗
𝑥𝑗
ℎ
𝑥𝑗+1 x
y 𝑦(𝑥)
𝑦𝑗 + ℎ𝑓(𝑥𝑗, 𝑦𝑗)この高さをy*j+1と
してyj+1を予測
𝑓 𝑥𝑗+1, 𝑦𝑗 + ℎ𝑓(𝑥𝑗 , 𝑦𝑗)=y*j+1 ≅ yj+1
…(13.4)
…(13.5)
*𝑦𝑗+1 − 𝑦𝑗 =ℎ
2𝑓 𝑥𝑗 , 𝑦𝑗 + 𝑓 𝑥𝑗+1, 𝑦𝑗+1
予測子(陽的公式):既知xjとxj+1から未知yj+1を予測子yj+1*を用いて予測する
式(13.5)の第1式を第2式に代入してy*j+1を消去して直接求めると、
→ホイン法と一致 既知の𝑥𝑗、𝑥𝑗+1と𝑦𝑗 から 𝑦𝑗+1を直接求めている!!
𝑦𝑗+1 = 𝑦𝑗 +ℎ
2𝑓 𝑥𝑗 , 𝑦𝑗 + 𝑓 𝑥𝑗+1, 𝑦𝑗 + ℎ𝑓 𝑥𝑗 , 𝑦𝑗
●の傾き→
xj-3の傾きs1
𝑥𝑗−2
ℎ/2 x
y
𝑦(𝑥)
ℎ/2
xj+h/2傾きs2
xj+h/2傾きs3 xj+h
傾きs4
𝑥𝑗−3
1)-①●(xj-3, yj-3)から●(xj-2 , yj-2)を求める
1)-②●(xj-2, yj-2)から●(xj-1 , yj-1)を求める
1)-③●(xj-1, yj-1)から●(xj , yj)を求める
既知(
●ミルン法:高精度予測子 とシンプソン公式(修正子) の組合せによりy*j+1を求める。
yj-3
yj-2
331 , jj yxfs●
2/,2/ 1332 hsyhxfs jj ●
● 2/,2/ 2333 hsyhxfs jj
3334 , hsyhxfs jj ●
432132 226
ssssh
yy jj
𝑦𝑗−1𝑦𝑗
𝑥𝑗−3 𝑥𝑗−2 𝑥𝑗−1 𝑥𝑗 𝑥𝑗+1
𝑦𝑗+1
h hh
𝑦𝑗−3
h
ステップ1) 既知の点●(xj-3,yj-3)から3点●(xj-2,yj-2) 、●(xj-1,yj-1)、および、●(xj,yj)をルンゲ・クッタ法で求める
●ミルン法#2 ステップ2) 高精度予測子によりy*j+1 を求める。
k=1の場合、式(13.1)の右辺の積分は3点●𝑥𝑗−1 、● 𝑥𝑗、● 𝑥𝑗+1を用
いて近似
ステップ3) 修正子としてシンプソンの公式を用いる
…(13.6)
高精度予測子公式 y*j+1
二階微分まで考慮詳細は専門書参照
2231 ,23
4
jjjj yxf
hyy
jjjj yxfyxf ,2, 11
𝑦𝑗−1𝑦𝑗
𝑥𝑗−3 𝑥𝑗−2 𝑥𝑗−1 𝑥𝑗 𝑥𝑗+1
𝑦𝑗+1
h hh
𝑦𝑗−3
h
𝒙𝒋−𝟏
𝒙𝒋+𝟏
𝒇 𝒙, 𝒚(𝒙) 𝒅𝒙
111111 ,,4,
3jjjjjjjj yxfyxfyxf
hyy
シンプソンの公式による修正子
…(13.7)
𝑦𝑗−2
j-1とjからこの点を外挿⇒2次精度AB法
f(x,y)
𝑓𝑗−1
𝑓 ∗𝑗+1
𝑓𝑗
P(x)
𝑥𝑗−1 𝑥𝑗 𝑥𝑗+1
𝑓𝑗+1
𝑥𝑗
𝑥𝑗+1
𝑓 𝑥, 𝑦(𝑥) 𝑑𝑥
h h
𝑥𝑗−𝑘
𝑥𝑗+1 𝑑𝑦
𝑑𝑥𝑑𝑥 =
𝑥𝑗−𝑘
𝑥𝑗+1
𝑓 𝑥, 𝑦 𝑑𝑥
積分区間 𝑥𝑗 , 𝑥𝑗+1 において、
…(13.1)前述の式(13.1)
𝑃 𝑥 = 𝑓𝑗−1 +𝑓𝑗 − 𝑓𝑗−1
ℎ𝑥 − 𝑥𝑗−1
13.2 アダムス・バッシュフォース(AB)法 ⇒予測子としても使える
f(x,y)を2点● 𝑥𝑗−1, 𝑓𝑗−1 と● 𝑥𝑗 , 𝑓𝑗 を通る直線P(x)で近似
𝑦𝑗+1
傾きfj-1
𝑥𝑗−1ℎ
𝑥𝑗 x
y
𝑦(𝑥)
𝑥𝑗+1
𝑦𝑗𝑦𝑗−1
傾きfj
傾きfj+1
ℎ
yj+1-yj
𝑦𝑗+1 = 𝑦𝑗 + 𝑥𝑗
𝑥𝑗+1
𝑓 𝑥, 𝑦 𝑑𝑥…(13.8)
25
同様に3点● 𝑥𝑗−2, 𝑓𝑗−2 ● 𝑥𝑗−1, 𝑓𝑗−1● 𝑥𝑗 , 𝑓𝑗 を通る放物線P(x)で置き換えて積分
→3次精度AB法
…(13.10)
𝑥𝑗−1, 𝑦𝑗−1, 𝑥𝑗 , 𝑦𝑗のみを使って𝑦𝑗+1を計算⇒ 𝑥𝑗+1, 𝑓𝑗+1 を使っていな
い⇒予測子にも使える
𝑥𝑗−2, 𝑦𝑗−2, 𝑥𝑗−1, 𝑦𝑗−1, 𝑥𝑗 , 𝑦𝑗のみを使って𝑦𝑗+1を計算⇒ 𝑥𝑗+1, 𝑓𝑗+1を使っていない⇒予測子にも使える
𝑦𝑗+1 = 𝑦𝑗 +ℎ
1223𝑓(𝑥𝑗 , 𝑦𝑗) − 16𝑓 𝑥𝑗−1, 𝑦𝑗−1 + 5𝑓(𝑥𝑗−2, 𝑦𝑗−2)
P(x)を代入して積分
*
※yj-1,yjはルンゲ・クッタで求めておく
𝑦𝑗+1 = 𝑦𝑗 +ℎ
23𝑓(𝑥𝑗 , 𝑦𝑗) − 𝑓(𝑥𝑗−1, 𝑦𝑗−1)
…(13.9)* →2次精度AB法
j-2、j-1、 jからこの点を外挿⇒3次精度AB法
f(x,y)𝑓𝑗−1
𝑓 ∗𝑗+1
𝑓𝑗
P(x)
𝑥𝑗−2 𝑥𝑗−1 𝑥𝑗 𝑥𝑗+1
𝑓𝑗+1
𝑥𝑗
𝑥𝑗+1
𝑓 𝑥, 𝑦(𝑥) 𝑑𝑥
h hh
𝑓𝑗−2
𝑦𝑗+1 = 𝑦𝑗 + 𝑥𝑗
𝑥𝑗+1
𝑓 𝑥, 𝑦 𝑑𝑥…(13.8)
𝑦𝑗+1 = 𝑦𝑗 + 𝑥𝑗
𝑥𝑗+1
𝑓 𝑥, 𝑦 𝑑𝑥
𝑓 𝑥, 𝑦 を3点● 𝑥𝑗−1, 𝑓𝑗−1 ● 𝑥𝑗 , 𝑓𝑗● 𝑥𝑗+1, 𝑓𝑗+1 を通る放物線P(x)で近似
●アダムス・ムルトン(AM)法未知● 𝑥𝑗+1, 𝑓𝑗+1 をそのまま積分
未知𝑦𝑗+1が右辺にも存在する⇒修正子として用いる
𝑃(𝑥) = 𝑓𝑗−1(𝑥 − 𝑥𝑗)(𝑥 − 𝑥𝑗+1)
(𝑥𝑗−1 − 𝑥𝑗)(𝑥𝑗−1 − 𝑥𝑗+1)
+𝑓𝑗(𝑥 − 𝑥𝑗−1)(𝑥 − 𝑥𝑗+1)
(𝑥𝑗 − 𝑥𝑗−1)(𝑥𝑗 − 𝑥𝑗+1)+𝑓𝑗+1
(𝑥 − 𝑥𝑗−1)(𝑥 − 𝑥𝑗)
(𝑥𝑗+1 − 𝑥𝑗−1)(𝑥𝑗+1 − 𝑥𝑗)
…(13.11)
※𝑓𝑗+1 = 𝑓 𝑥𝑗+1, 𝑦𝑗+1yJ+1の微分値
区間 𝑥𝑗 , 𝑥𝑗+1 で積分
…(13.8)
*
𝑥𝑗−1 𝑥𝑗 𝑥𝑗+1
f(x,y)
𝑓𝑗−1
𝑓𝑗
P(x)
𝑓𝑗+1
𝒙𝒋
𝒙𝒋+𝟏
𝒇 𝒙, 𝒚(𝒙) 𝒅𝒙
h h
この点は不明!!
●予測子と修正子の組み合わせ公式列挙 𝑓𝑗+1 = 𝑓 𝑥𝑗+1, 𝑦 ∗𝑗+1
⇐アダムス・ムルトン法修正子
⇐アダムス・バッシュフォース法2次精度予測子
⇐アダムス・バッシュフォース法3次精度予測子
⇐台形公式修正子
12
*
*
*
*
*
⇐アダムス・バッシュフォース法4次精度予測子
⇑アダムス・ムルトン法修正子…(13.14)
…(13.15)⇑アダムス・ムルトン法修正子
⇓アダムス・バッシュフォース法5次精度予測子
1. f(x,y), x0, y0, h, nを入力2. 2次のルンゲ・クッタ法でy1を求める3. j=1,2,……, nに対して次の計算を行う
xj+1 = xj + hyj+1 = yj + h{3f(xj, yj) ー f(xj-1, yj-1) }/2
●2次精度アダムス・バッシュフォース法アルゴリズムまとめ
13.3 連立微分方程式
微分を前進差分で近似⇒オイラー法
…(13.16)…(13.17)
●3元以上の連立微分方程式への適用
…(13.20)
右辺はxj, yj, zj, uj, xj+1のみ
…(13.21)
pypx
bzxy
tx
tz
x
z
pypx
yrxxz
tx
ty
x
y
d/d
d/d
d
d
d/d
d/d
d
d
http://matome.naver.jp/odai/
ローレンツ方程式
z y
xhttp://www.procreo.jp/labo/labo08.html
),,(d
dzyxg
x
z),,(
d
dzyxf
x
y
ay )0( bz )0(
右辺はxj, yj, zj, xj+1のみ …(13.19)
),,(11 jjjjjjj zyxfxxyy ),,(11 jjjjjjj zyxgxxzz
…(13.18)jj
jj
xx
yy
x
y
1
1
d
d
jj
jj
xx
zz
x
z
1
1
d
d
(12.18)式の4次のルンゲ・クッタ法を適用すると、s1~s4はxj、yjおよびzjで書ける!!r1~r4も同じ!!
↑s1とr1でs2を表す。
43211 226
rrrrh
zz jj
43211 226
ssssh
yy jj
● jjj zyxfs ,,1
● jjj zyxgr ,,1
● 334 ,, hrzhsyhxgr jjj
● 2/,2/,2/ 112 hrzhsyhxgr jjj
↑ s3とr3でs4 を表す
↑ s2とr2でs3を表す。
…(13.22)
↑ s1とr1でr2を表す。
↑ s2とr2でr3を表す。
↑ s3とr3でr4を表す
334 ,, hrzhsyhxfs jjj ●
2/,2/,2/ 223 hrzhsyhxgr jjj ●
● 2/,2/,2/ 223 hrzhsyhxfs jjj
● 2/,2/,2/ 112 hrzhsyhxfs jjj
𝑥𝑗
ℎ/2𝑥𝑗+1
x
𝑔(𝑥, 𝑦, 𝑧)
ℎ/2
z
傾きr1傾きr2
傾きr3 傾きr4
傾きs1
ℎ/2 x
𝑓(𝑥, 𝑦, 𝑧)
ℎ/2
傾きs2
傾きs3 傾きs4y
xj
y
z y
x
xj+1
x
●例1 連立微分方程式の初期値問題
式(13.19)の前進差分式より、
初期値より
後は陽的に
したがって𝑦𝑗と𝑧𝑗の一般式は
001 zyhzyj
jj
jjjj zyhzy 111
この例題の場合、
yx
z
d
dz
x
y
d
d 1)0( y
0)0( z
,1 jjj hzyy jjj hyzz 1
,1001 hzyyhhyzz 001
,1 2112 hhzyy
hhyzz 2112
𝑦 = cosh𝑥 =𝑒𝑥 + 𝑒−𝑥
2
𝑧 = sinh𝑥 =𝑒𝑥 − 𝑒−𝑥
2
解析解
,2/11jj
j hhy
2/11jj
j hhz
cosh𝑥 ± sinh𝑥 = 𝑒±𝑥
cosh2𝑥 − sinh2 𝑥 = 1
双曲線関数の性質
※このxは軸
とのなす角には対応しない
cosh𝑥
sinh𝑥tanh𝑥
-5
5
0
0 5-5
10
-10
13.4 高階微分方程式
●オイラー法を高階微分方程式の初期値問題にも適用
1階微分をzとおくと、
x
yyxf
x
y
d
d,,
d
d2
2
…(13.23)
ay )0( by )0(' …(13.24)
‥‥(A)
例1 ファン・デル・ポールの方程式
初期値y(0)=0, z(0)=y’(0)=0, h=0.1の場合
𝑥𝑗+1 = 𝑥𝑗 + ℎ 𝑦𝑗+1 = 𝑦𝑗 + ℎ 𝑧𝑗𝑧𝑗+1 = 𝑧𝑗 + ℎ 0.25 1 − 𝑦𝑗
2 𝑧𝑗 − 𝑦𝑗 + sin 𝑥𝑗
(A)式を式(12.6)のオイラー法で解くと、左辺はxj+1, yj+1, zj+1 右辺は
xj, yj, zj
自励振動の例タコマ橋の崩壊
‥‥(13.28)
https://ja.wikipedia.org
減衰力負の1自由度ばね質量ダンパ系の運動方程式
振幅が指数関数的に成長⇒振幅がある値を超えると減衰力の符号を+にする。⇒リミットサイクル
𝑚 𝑦 − 𝑐 𝑦 + 𝑘𝑦 = 0
とおくと
k
c
y
m
解(x,y)
A
B
C
図13.2 xとyの関係
→時間と思う
→振幅と思う
解(y,z)
AB
C
図13.3 yとz(yの微分値)の関係
→振幅の
微分と思う
→振幅と思う
1自由度ばね質量ダンパ系の運動方程式の復習
:臨界粘性減衰係数
●ζ = 0のとき
●0 < ζ < 1のとき
●ζ = 1のとき
:減衰比
減衰固有角振動数:
減衰固有振動数:
●ζ > 1のとき 過減衰
https://ja.wikipedia.org/wiki/:固有角振動数
02 2002
2
txdt
tdx
dt
txd
mkcc 2
mk0
cc
c
20 1 xC
1tan
tCtx 0cos
tCetx t 20 1cos0
2
201
1
xC
2
1
1tan
20 1 d
2d
df
11cos 000 textx t
1sinh
11cosh 2
02
200
0
ttextx t
36
「見えない」を「視える」にTakei Laboratory
Laboratory on Multiphase Flow and Visualization