+∆ − 1 = − e rit ft - 釧路工業高等専門学校 - 公式ウェブサ …l =...
TRANSCRIPT
過渡現象の数値的解法 (オイラー法とルンゲクッタ法の比較)
1 L-R回路(電圧印加)
図のように,L-R回路について,時刻 0=t にスイッチSを投入する場合を考
える.初等的解法で学んだように,回路方程式は
( ) ( )E
dt
tdiLtRi =+
である.これを解くと
( )
−=
−τt
eR
Eti 1 ,
R
L=τ
を得る.
ここでは,微分方程式の数値的解法(差分方程式による計算)を示し,解析解と比較する.
1) オイラー法
解析解から結果は素直な指数関数曲線になることがわかっているので,まず練習としてオイラー法で計算し
てみる.
微分方程式を書き換えると
( ) ( )( )tRiELdt
tdi−=
1
となり,これを差分 t∆ を用いて差分方程式に書き換えると
( ) ( ) ( )( ) ( )itftRiELt
titti,
1≡−=
∆−∆+
である.したがって,
( ) ( ) ( ) titftitti ∆⋅+=∆+ ,
すなわち,
tfii nnn ∆⋅+=+1
という差分方程式になる.したがって,たとえばExcelを使って,以下のように計算すればよい.
A B C
1 t i(n) f(n)
2 0 0
3 0.05
4 0.1
・A列の時間の刻み幅はRとCの値で決定する.
・セルB2は初期値を手入力する(この場合は電流の初期値はゼロ)
・セルC2には数式 ( )( )tRiEL
−=1
をExcelのセル参照に注意しながら入力する.
・セルB3には差分方程式を数式として t∆+= *C2B2 を入力する.
・あとは,必要な時間だけ下に向かってコピー&ペーストする.
なお,回路のそれぞれの定数は,あらかじめ別のセルに設定しておき,数式の中でセル参照する方が良い.
E
S
R
LLv
( )ti
実際に計算した結果および解析解の計算結果を図1に示す.
Fig. 1 L-R回路(電圧印加)の計算結果(オイラー法)
ほぼ,解析解に近い結果となった.数値計算結果は常に解析解よりもわずかに大きな値を示す(青線は常に
赤線より上になる).オイラー法では単純に出発点の微係数から次の点を算出するためである.
2) ルンゲクッタ法
次に,ルンゲクッタ法により計算してみる.詳細は省略し,必要な式と計算結果を示す.
( ) ( )( ) ( )itftRiELdt
tdi,
1≡−=
( )
( )
( )43211
434
3
2
3
2
1
2
11
226
1
,
2,
2
2,
2
,
kkkkii
ftkittftk
ftk
it
tftk
ftk
it
tftk
ftitftk
nn
nn
nn
nn
nn
++++=
⋅∆≡+∆+⋅∆=
⋅∆≡
+
∆+⋅∆=
⋅∆≡
+
∆+⋅∆=
⋅∆≡⋅∆=
+
(注) 1k から 4k は固定された係数ではないことに注意する.上式を見て分かるように,計算ステップごと
にこれらの値は変化する.すなわち, ( )nk1 から ( )nk4 として考えるべき数値である.
Fig. 2 L-R回路(電圧印加)の計算結果(ルンゲクッタ法)
図中にもコメントしているが,数値計算と解析解は1%以下の誤差に収まっていて,図では差が見えない.
2 L-C-R回路
次に,L-C-R回路(振動的)について考える.この場合,電流信号の変化は激しく,オイラー法とルン
ゲクッタ法の違いが顕著に表れる.回路は教科書を参照すること.
回路方程式は
( ) ( ) ( ) Etvdt
tdvRC
dt
tvdLC C
CC =++2
2
である.
1) オイラー法
( )tvx C=1 ,( )
dt
dx
dt
tdvx C 1
2 ==
とおくと,回路方程式は
ExRCxdt
dxLC =++ 12
2
である.これらから
( ) ( )
( ) ( )t
txttxfx
LCx
L
R
LC
E
dt
dx
t
txttxfx
dt
dx
∆
−∆+=≡−−=
∆
−∆+=≡=
22
212
2
11
12
1
1
である.したがって,
( ) ( ) ( )( ) ( ) ( ) ttxxftxttx
ttxxftxttx
∆⋅==∆+
∆⋅==∆+
,,
,,
21222
21111
という差分方程式を得る.
これを計算して解析解と比較すると,図のようになる.
Fig. 3 オイラー法によるL-C-R回路(振動的)の計算
L-R回路の場合と同様に,オイラー法は常に「解析解の後追い」的な挙動となってしまう.最終値「1」
に対して,誤差量は最大で9%近い.
2) ルンゲクッタ法
途中まではオイラー法と同じだが,改めて差分方程式に至る式を示し,計算結果を示す.
( )tvx C=1 ,( )
dt
dx
dt
tdvx C 1
2 ==
とおくと,回路方程式は
ExRCxdt
dxLC =++ 12
2
である.これらから
( )
( )txxfxLC
xL
R
LC
E
dt
dx
txxfxdt
dx
,,1
,,
21212
2
2112
1
≡−−=
≡=
( )
( ) ( )
( ) ( )
( ) ( ) ( )[ ]311322322311242
322322311141
21
1
22
2
22
2
21
1232
22
2
22
2
21
1131
11
1
12
2
12
2
11
1222
12
2
12
2
11
1121
1221212
221111
1,,
,,
22
1
2,
2,
2
22,
2,
2
22
1
2,
2,
2
22,
2,
2
1,,
,,
kxkxRCELC
tttkxkxftk
kxtttkxkxftk
kx
kxRCE
LCt
tt
kx
kxftk
kxt
tt
kx
kxftk
kx
kxRCE
LCt
tt
kx
kxftk
kxt
tt
kx
kxftk
xRCxELC
ttxxftk
xttxxftk
+−+−⋅∆=∆+++⋅∆=
+⋅∆=∆+++⋅∆=
+−
+−⋅∆=
∆+++⋅∆=
+⋅∆=
∆+++⋅∆=
+−
+−⋅∆=
∆+++⋅∆=
+⋅∆=
∆+++⋅∆=
−−⋅∆=⋅∆=
⋅∆=⋅∆=
( ) ( ) ( )
( ) ( ) ( )4232221222
4131211111
226
1
226
1
kkkktxttx
kkkktxttx
++++=∆+
++++=∆+
計算結果を以下に示す.
Fig. 3 ルンゲクッタ法によるL-C-R回路(振動的)の計算
解析解と数値計算結果はほとんど一致している.ルンゲクッタ法の有効性が良くわかる.