8.3 常微分方程式の数値解放
Download
Report
Transcript 8.3 常微分方程式の数値解放
8.3 常微分方程式の数値解法
数値解法では,解析的に積分できないような問題
を扱うことが多い
オイラーってどんな人?
数学者・物理学者であり、天体物理学者。
スイスのバーゼル生まれ
現ロシアのサンクトペテルブルクで死んだ。
1707/4/15-1783/9/18
Leonhard Euler
8.3.1 オイラー法
(1)前進差分によるオイラー法
dy
微分方程式
g ( t , y ),
dt
y (0 ) C1
[例]前進差分近似
y (t t ) y (t )
t
g ( t , y ( t )) y ( t t ) y ( t ) g ( t , y ( t )) t
次のような繰返し計算で近似する
y
( t1 , y 1 )
y (0) C1
(t 0 , y 0 )
y ( t ) y ( 0 ) g ( 0 , y ( 0 )) t
g (t 0 , y 0 ) t
y ( 2 t ) y ( t ) g ( t , y ( t )) t
t
0
t
あるいは,
差分近似が微分の近似であることから
(本来は, t は限りなく0に近い値)
dy
dt
lim
y (t t ) y (t )
t 0
t
y (t t ) y (t )
t
y (0) C1
y ( t ) y ( 0 ) g ( t , y ( 0 )) t
y ( 2 t ) y ( t ) g ( 2 t , y ( t )) t
dy
(例)
( t 1) ydt
Excelでオイラー法(1)
dt
もちろん,この式は次のようにして厳密解を求めることができるが,誤差評価
のためにこの例を求める。
1
dy ( t 1) dt
y
1
y
dy
( t 1) dt
log y
t
2
tC
2
[Excelの定義
例]
tとして現時刻をとる定義
(例)
dy
( t 1) ydt
dt
Excelでオイラー法(2)
グラフを描いてみると
tとして現時刻をとる定義のほうが誤差が少ない
(2)修正オイラー法(修正法1)
データ点における微分係数で増分を計算し,
増分から得られた座標点から更に増分を計算し,
両増分の平均値を最終的な増分とする。
y
k1 g (t , y ) t
( t1 , y 1 )
k 2 g (t t , y k1 ) t
y (t t ) y (t )
1
2
k2
( k1 k 2 )
(t 0 , y 0 )
k1
t
0
t
Excelによる修正法1
式定義
結果グラフ
(3)修正オイラー法(修正法2)
データ点における微分係数で増分を計算し,
増分の1/2から得られた座標点から増分を計算し,
この増分を最終的な増分とする。
y
k1 g (t , y ) t
k 2 g (t
t
2
,y
k1
( t1
t
2
, y1
k1
)
2
)t
2
k2
(t 0 , y 0 )
y (t t ) y (t ) k 2
k1
t
0
t
Excelによる修正法2
式定義
結果グラフ
VBAによる定義
①データ宣言,データ設定および結果設定用シートへのX値設定
Private DX As Double
Private Y0 As Double
Private XST As Double
Private Y(11) As Double
Private N As Integer
Sub データ設定()
N = 11: Y0 = 1: DX = 0.1: XST = 0
End Sub
Sub X値設定()
With Worksheets("Sheet4")
X = XST
For i = 1 To N
.Cells(i + 1, 1) = X: X = X + DX
Next
End With
End Sub
VBAによる定義
②結果設定とボタンのClickイベントハンドラ
Sub 結果設定(ID)
With Worksheets("Sheet4")
For i = 1 To N
.Cells(i + 1, ID) = Y(i)
Next
End With
End Sub
Sub ボタン1_Click()
データ設定
X値設定
オイラー法前進差分 Y, Y0, XST, DX, N
結果設定 2
修正オイラー法1 Y, Y0, XST, DX, N
結果設定 3
修正オイラー法2 Y, Y0, XST, DX, N
結果設定 4
厳密解 Y, Y0, XST, DX, N
結果設定 5
End Sub
VBAによる定義
③関数値,オイラー法,修正法1
Function g(X, Y) As Double
g = (X + 1) * Y
End Function
Sub オイラー法前進差分(Y, Y0, XST, DX, N)
Y(1) = Y0: X = XST
For i = 2 To N
X = X + DX
Y(i) = Y(i - 1) + g(X, Y(i - 1)) * DX
Next
End Sub
Sub 修正オイラー法1(Y, Y0, XST, DX, N)
Y(1) = Y0: X = XST
For i = 2 To N
K1 = DX * g(X, Y(i - 1))
K2 = DX * g(X + DX, Y(i - 1) + K1)
X = X + DX
Y(i) = Y(i - 1) + (K1 + K2) / 2
Next
End Sub
VBAによる定義
④修正法2,厳密解設定
Sub 修正オイラー法2(Y, Y0, XST, DX, N)
Y(1) = Y0: X = XST
For i = 2 To N
K1 = DX * g(X, Y(i - 1))
K2 = DX * g(X + DX / 2, Y(i - 1) + K1 / 2)
Y(i) = Y(i - 1) + K2
X = X + DX
Next
End Sub
Sub 厳密解(Y, Y0, XST, DX, N)
X = XST
For i = 1 To N
Y(i) = Exp(X * X / 2 + X)
X = X + DX
Next
End Sub
VBAによる定義による結果
結果(Excelによる結果より誤差が少ない)
(4)修正オイラー法(一般化)
以下の係数に適当な値を代入する。修正法1,2はその代表的な例。
k1 g (t , y ) t
k 2 g (t t , y k1 ) t
y ( t t ) y ( t ) ( c1 k 2 c 2 k 2 )
[注]以下,式の展開による導出を示すが,
式の展開自体を覚える必要はない。
どのような流れで導出されているかを理解し,
最終的な結果を確認すること。
式の展開自体が必要なときは,資料を参照すれば良い。
確認
k 2 をテーラ展開すると
k 2 g (t t , y k1 ) t g (t , y ) t
g (t , y ) t
dg
g (t , y ) t
dt
dg
dg
k1
dt
dg
O (t , y )
2
2
dy
O (t , y )
2
2
dy
第3式に代入すると
y ( t t ) y ( t ) ( c1 k 2 c 2 k 2 )
dg
dg
2
y ( t ) c1 t g ( t , y ) c 2 t g ( t , y ) t
g (t , y ) t
O (t )
dt
dy
y ( t ) ( c1 c 2 ) t g ( t , y ) c 2 t
テーラ展開の式と比較すると
修正法1 c1 c 2
1
2
,
2
dg
dt
g (t , y ) c 2 t
( c1 c 2 ) 1,
1
c2
1
2
dg
,
2
修正法2 c1 0 ,
O (t )
3
dy
c2
c 2 1,
1
2
1
2
8.3.2 ルンゲ・クッタ法(Runge-Kutta method)
(1)2次のルンゲ・クッタ法(その1)
k 1 g ( t j , x j ),
k 2 g ( t j b1 h , x j b 2 hk 1 ),
k 2 g ( t j b1 h , x j b 2 hk 1 ) g ( t j , x j ) b1 h
g ( t j , x j ) b1 h
g (t j , x j )
t
b 2 hg ( t j , x j )
x j 1 x j h ( a1 k 1 a 2 k 2 ) とおくと
g (t j , x j )
t
g (t j , x j )
x
b 2 hk 1
g (t j , x j )
x
O (h )
2
O (h )
2
g (t j , x j )
g (t j , x j )
2
x j 1 x j h a 1 g ( t j , x j ) a 2 g ( t j , x j ) b1 h
b 2 hg ( t j , x j )
O ( h )
t
x
g (t j , x j )
g (t j , x j )
3
x j h ( a 1 a 2 ) g ( t j , x j ) h a 2 b1
a 2 b2 g (t j , x j )
O (h )
t
x
2
(1)2次のルンゲ・クッタ法(その2)
2
定義から
d x
dt
x j 1
2
dg ( t , x )
dt
g (t , x )
t
g (t , x )
x
g (t , x )
であるからテーラ展開すると
2
h g (t j , x j ) g (t j , x j )
3
x j hg ( t j , x j )
g (t j , x j ) O ( h )
2
t
x
係数を比較して
a1 a 2 1,
これらを満足する値として a1 a 2
1
2
,
a 2 b1
1
2
,
a 2 b2
1
2
b1 b 2 1 を選択して
k1 g (t j , x j )
k 2 g ( t j h , x j hk 1 )
x j 1 x j
h
2
k1 k 2
この式はホイン(Heun)の2次公式とも呼ばれる。
y j 1 y j hg ( t j , y j )
(2)3次のルンゲ・クッタ法
において
k 1 g ( t j , y j ), k 2 g ( t j b1 h , y j b 2 hk 1 ), k 3 g ( t j c1 h , y j c 2 hk 1 c 3 hk 2 )
y j 1 y j h ( a1 k 1 a 2 k 2 a 3 k 3 )
とおくと,2次の場合と同様,係数比較によって a1 , a 2 , a 3 , b1 , b2 , c1 , c 2 , c 3
を決めることができる。
k1 g (t j , x j )
k 2 g (t j
h
2
, xj
h
2
k1 )
k 3 g ( t j h , x j hk 1 2 hk 2 )
x j 1 x j
h
6
k1 4 k 2 k 3
この式はクッタ(Kutta)の公式と呼ばれる。
y j 1 y j hg ( t j , y j )
k 1 g ( t j , y j ),
(3)4次のルンゲ・クッタ法
において
k 2 g ( t j b1 h , y j b 2 hk 1 ),
k 3 g ( t j c1 h , y j c 2 hk 2 ),
k 4 g ( t j d 1 h , y j d 2 hk 2 ),
y j 1 y j h ( a1 k 1 a 2 k 2 a 3 k 3 a 4 k 4 )
とおくと,2次の場合と同様,係数比較によって a1 , a 2 , a 3 , b1 , b2 , c1 , c 2 , d 1 , d 2
を決めることができる。
k1 g (t j , x j )
k 2 g (t j
h
k 3 g (t j
h
2
2
, xj
h
, xj
h
2
2
k1 )
k2 )
k 4 g ( t j h , x j hk 3 )
x j 1 x j
h
6
k1 2 k 2 2 k 3 k 4
この式はルンゲ・クッタの式と呼ばれる。
(4)ルンゲ・クッタ・ギルの公式
(Runge-Kutta-Gill method)
4次のルンゲ・クッタ型の公式の一つとして,次の公式がある。
k 1 g t j , x j
h
h
k 2 g t j , x j k1
2
2
h
1
1
1
k3 g t j , x j
hk 1 1
hk 2
2
2
2
2
1
1
k 4 g t j h , x j
hk 2 1
hk 3
2
2
x j 1
h
1
1
x j k1 2 1
k 2 21
k 3 k 4
6
2
2
ルンゲとクッタ
• カール・ルンゲ(Runge,Carl David Tolme) ドイツ
の数学者で物理学者。 1856/08/30-1927/01/03
• ウイルヘルム・クッタ(Wilhelm Kutta)ドイツの数
学者でかつ物理学者。1867~1944。渦による揚
力の発生クッタ-ジェコフスキーの揚力理論で有
名。
VBAによる定義
①データ宣言,データ設定および結果設定用シートへのX値設定
Private DX As Double
Private Y0 As Double
Private XST As Double
Private Y(11) As Double
Private N As Integer
Sub データ設定()
N = 11: Y0 = 1: DX = 0.1: XST = 0
End Sub
Sub X値設定()
With Worksheets("Sheet4")
X = XST
For i = 1 To N
.Cells(i + 1, 1) = X: X = X + DX
Next
End With
End Sub
VBAによる定義
②結果設定とボタンのClickイベントハンドラ
Sub 結果設定(ID)
With Worksheets("Sheet4")
For i = 1 To N
.Cells(i + 1, ID) = Y(i)
Next
End With
End Sub
Sub ボタン1_Click()
データ設定
X値設定
ルンゲクッタ Y, Y0, XST, DX, N
結果設定 2
ルンゲクッタギル Y, Y0, XST, DX, N
結果設定 3
厳密解 Y, Y0, XST, DX, N
結果設定 4
End Sub
VBAによる定義
③関数値,4次のルンゲ・クッタ法
Function g(X, Y) As Double
g = (X + 1) * Y
End Function
Sub ルンゲクッタ(Y, Y0, XST, DX, N)
Y(1) = Y0: X = XST
For i = 2 To N
k1 = g(X, Y(i - 1))
k2 = g(X + DX / 2, Y(i - 1) + DX * k1 / 2)
k3 = g(X + DX / 2, Y(i - 1) + DX * k2 / 2)
k4 = g(X + DX, Y(i - 1) + DX * k3)
Y(i) = Y(i - 1) + (k1 + 2 * k2 + 2 * k3 + k4) * DX / 6
X = X + DX
Next
End Sub
VBAによる定義
④ルンゲ・クッタ・ギル法
Sub ルンゲクッタギル(Y, Y0, XST, DX, N)
Y(1) = Y0: X = XST
A1 = -(1 / 2 - 1 / Sqr(2))
A2 = (1 - 1 / Sqr(2))
B1 = -1 / Sqr(2)
B2 = 1 + 1 / Sqr(2)
C1 = 2 * (1 - 1 / Sqr(2))
C2 = 2 * (1 + 1 / Sqr(2))
For i = 2 To N
k1 = g(X, Y(i - 1))
k2 = g(X + DX / 2, Y(i - 1) + DX * k1 / 2)
k3 = g(X + DX / 2, Y(i - 1) + A1 * DX * k1 + A2 * DX * k2)
k4 = g(X + DX, Y(i - 1) + B1 * DX * k2 + B2 * DX * k3)
Y(i) = Y(i - 1) + (k1 + C1 * k2 + C2 * k3 + k4) * DX / 6
X = X + DX
Next
End Sub
VBAによる定義
⑤厳密解の設定
Sub 厳密解(Y, Y0, XST, DX, N)
X = XST
For i = 1 To N
Y(i) = Exp(X * X / 2 + X)
X = X + DX
Next
End Sub
VBAによる定義
④修正法2,厳密解設定
Sub 修正オイラー法2(Y, Y0, XST, DX, N)
Y(1) = Y0: X = XST
For i = 2 To N
K1 = DX * g(X, Y(i - 1))
K2 = DX * g(X + DX / 2, Y(i - 1) + K1 / 2)
Y(i) = Y(i - 1) + K2
X = X + DX
Next
End Sub
Sub 厳密解(Y, Y0, XST, DX, N)
X = XST
For i = 1 To N
Y(i) = Exp(X * X / 2 + X)
X = X + DX
Next
End Sub
ルンゲクッタ法による結果
非常に良い結果が得られていることに注意
8.3.3 連立微分方程式
(1)手順
次の連立1次微分方程式を考える。
dx
f (t , x )
dt
x1
x2
,
x
xn
f 1 ( t , x1 , , x n )
f 2 ( t , x1 , , x n )
f
f
(
t
,
x
,
,
x
)
1
n
n
①増分ベクトル k 1 を求める。
k1 f (t , x )
k 11 f 1 ( t , x1 , , x n )
k 12
f 2 ( t , x1 , , x n )
k
f
(
t
,
x
,
,
x
)
1
n
1n n
②増分 k 2 ~ k 4 を求める。
k 2 f (t
h
k 3 f (t
h
,x
2
h k1
)
2
,x
2
hk 2
)
2
k 4 f (t h , x h k 3 )
③ x ( t h ) を求める。
x (t h ) x (t )
h
6
k 1 2 k 2 2 k 3 k 4
(2)プログラム例
次の連立1次微分方程式を解くプログラムを例とする。
dy 1
dx
x y2 ,
y1 ( 0 ) 0 ,
dy 2
x
dx
y 2 (0) 0
①データ宣言,データ設定および結果設定用シートへのX値設定
Private DX As Double
Private Y0() As Double
Private XST As Double
Private Y(11, 2) As Double
Private N As Integer
Private M As Integer
Sub データ設定()
N = 11: DX = 0.1: XST = 0
M = 2: ReDim Y0(M)
For k = 1 To M
Y0(k) = 0
Next
End Sub
Sub X値設定()
With Worksheets("Sheet2")
X = XST
For i = 1 To N
.Cells(i + 1, 1) = X: X = X + DX
Next
End With
End Sub
②結果設定およびボタンのClickイベントハンドラ
Sub 結果設定()
With Worksheets("Sheet2")
For i = 1 To N
For k = 1 To M
.Cells(i + 1, k + 1) = Y(i, k)
Next
Next
End With
End Sub
Sub Sheet2_ボタン1_Click()
データ設定
X値設定
連立ルンゲクッタ Y, Y0, XST, DX, N, M
結果設定
End Sub
③関数設定および処理本体(その1)
Function g(ID, X, Y) As Double
If ID = 1 Then
g = X + Y(2)
Else
g = X
End If
End Function
Sub 連立ルンゲクッタ(Y, Y0, XST, DX, N, M)
Dim K1() As Double: ReDim K1(M)
Dim K2() As Double: ReDim K2(M)
Dim K3() As Double: ReDim K3(M)
Dim K4() As Double: ReDim K4(M)
Dim YY() As Double: ReDim YY(M)
For k = 1 To M
Y(1, k) = Y0(k)
Next
⑤処理本体(その3)
X = XST
For i = 2
For k =
YY(k)
Next
For k =
K1(k)
Next
For k =
YY(k)
Next
For k =
K2(k)
Next
For k =
YY(k)
Next
For k =
K3(k)
Next
To N
1 To M
= Y(i - 1, k)
1 To M
= g(k, X, YY)
1 To M
= Y(i - 1, k) + DX * K1(k) / 2
1 To M
= g(k, X + DX / 2, YY)
1 To M
= Y(i - 1, k) + DX * K2(k) / 2
1 To M
= g(k, X + DX / 2, YY)
⑤処理本体(その4)
For k = 1
YY(k) =
Next
For k = 1
K4(k) =
Next
For k = 1
Y(i, k)
Next
X = X + DX
Next
End Sub
To M
Y(i - 1, k) + DX * K3(k)
To M
g(k, X + DX, YY)
To M
= Y(i - 1, k) + _
(K1(k) + 2 * K2(k) + 2 * K3(k) + K4(k)) * DX / 6
8.3.4 高階の常微分方程式
(1)考え方
次の微分方程式を考える。
n
a0
d x
dt
n
a1
d
n 1
x
n 1
dt
a n 1
dx
dt
an x 0
各次数の時間微分を別々の変数と考えると
x x1 ,
dx 1
dx n
1
dt
dt
a0
x2 ,
dx 2
dt
x3 ,
,
dx n 1
dt
a 1 x n a 2 x n 1 a n x1
という連立1次微分方程式の形式であるため,
ルンゲ・クッタ法を適用することができる。
xn ,
[例題]
2
m
d x
dt
2
kx
解析的に解けるが,
厳密解が分かっているので,
誤差検証のために
あえてこの例題を取り上げる。
(連立ルンゲ・クッタ法の変更部分)
(下記,赤線部分の変更)
Private DX As Double
Private Y0() As Double
Private XST As Double
Private Y(60, 2) As Double
Private N As Integer
Private M As Integer
Sub データ設定()
N = 60: DX = 0.1: XST = 0
M = 2: ReDim Y0(M)
Y0(1) = 0
Y0(2) = 4
End Sub
・
・(中略)
・
Function g(ID, X, Y) As
Double
If ID = 1 Then
g = Y(2)
Else
g = -Y(1)
End If
End Function
・
・(後略)
・
実行結果
誤差が少ないことを確認する。
(2)ルンゲ・クッタ法を使わない高次微分方程式
(オイラー法による例題)
2
m
d x
dt
kx
2
k /m ,
2
t s
2
とおくと
d x
ds
2
x
v,
ds
と変形しておく。
次のような数式モデルを設定
x n 1 x n
( n 1) h nh
v n 1 v n
とすることができるので,
dx
ここで,s = nhとなる有限の刻み幅hを導入し
,
dv
ds
x
( n 1) h nh
v n x n 1 x n hv n
x n v n 1 v n hx n
処理の手順
①
②
③
④
⑤
DT = 刻み幅
V0 = 初速度,X0 = 0,T = 0とする.
T時刻の速度,位置をV0,X0とする.
T = T + DTとする.
T ≦ 最終時刻の間,以下を繰り返す.
・X = X0 + V0 × DT
・V = V0 - X0 × DT
・T時刻の速度,位置をV,Xとする.
・X0 = X,V0=V
・T = T + DT
単純な方法による式定義
(厳密解との比較を含む)
単純な方法による結果
(誤差が蓄積している)
この理由(エネルギー保存則)
1
mV
2
2
1
kx
2
=一定,
2
V
dx
dt
dx ds
ds dt
dx
dx
w
ds
ds
k
v
m
したがって
2
1
m v
2
v x
2
k
1
1
k
1
k 2
2
kx 2 mv 2 kx 2
v x
m
2
2
m 2
2
2
=一定
=一定
一方,数式モデルから
x n 1 v n 1 x n hv n v n hx n 1 h
2
2
2
2
2
x
2
n
vn
2
刻み幅が0であれば一定となるが,今刻み幅は有限の値にしているので
保存則が成立していない。
k
m
式の改良
現在時刻における速度と位置の値は,お互いに現在時刻における値と前
時刻との平均値を使用して計算するものとする。
x n 1 x n
1
2
v n 1 v n h
v n 1 v n
1
2
x n 1 x n h
現在時刻における値がお互いに入っているので,計算上はループしてし
まうので,お互いに代入して整理すると,
x n 1
1
4h
2
( 4 h
2
) xn 4vn h
v n 1
1
4h
両式を二乗して加えると
2
( 4 h
2
) vn 4 xn h
確認(エネルギー保存則が満足されている)
x n 1 v n 1
2
1
2
2
2
2
2
1
(4 h )
2
2
2
2
2
2
2
( 4 h
2
) vn 4 xn h
2
2
2
2
2
(4 h )
2
(4 h ) xn vn
2
2
(4 h )
2
2
2
x
2
n
2
vn
2
2
2
2
2
2
2
2
2
(16 h ( 4 h ) ) x n (16 h ( 4 h ) ) v n
2
) xn 4vn h
(4 h )
2
2
2
( 4 h ) x n 16 v n h 8 ( 4 h ) x n v n h ( 4 h ) v n 16 x n h 8 ( 4 h ) x n v n h
2
(4 h )
( 4 h
2
(4 h ) xn (4 h ) vn
2
2
2
2
(4 h )
2
2
2
2
考慮した結果
(3)かえる飛び法
次のようにお互いに相手の中間値を使用する方法
x n 1 x n v n 1 / 2 h
v n 1 / 2 v n 1 / 2 x n h
論理的には,中心差分であることに注意しよう。
かえるとび法(元の式は変わらないが誤差が少ない)
(4)テーラ展開による方法
まず,微分方程式から高次の微分を求め,
テーラ展開の式に代入する。
dy
[例]
x y
2
dx
n
y
(n)
d y
dx
y
(1 )
とすると
n
x y,
2
y
(2)
2x y
(1 )
,
y
(3)
2 y
(2)
,
y
(4)
y
(3)
これを次のようなテーラ展開の式に代入する。
y( x x) y( x) x y
(1 )
( x)
x
2
2!
y
(2)
( x)
x
3!
3
y
(3)
( x)
x
4
4!
y
(4)
( x)
式の変形
次のように近似できる。
yn xn yn , yn
(1 )
2
(2)
2 xn yn , yn
(1 )
(3)
2 yn , yn
(2)
(4)
yn
(3)
x n 1 x n x
y n 1 y n x y n
(1 )
x
2
2!
yn
(2)
x
3
yn
(3)
3!
x
4
4!
yn
(4)
更に次のように変形できる。
y
(1 )
x y,
y
(3)
2 y
2
(2)
y
(2)
2x y
(1 )
2 x x y,
2 2 x x y,
2
2
y
(4)
y
(3)
2 2x x y
2
式の整理
すなわち,y
(5)
y
(4)
y( x x) y( x) x y
(1 )
y
( x)
(3)
x
2
2!
y( x) x y
(1 )
(x)
x
。同様にして y
y
(2)
( x) y
(3)
(n)
y
(3)
x3 x 4 x5
( x)
4!
5!
3!
2
y
(2)
( x)
2!
y
(3)
2
3
4
5
2
x
x
x
x
x
(3)
( x ) 1 x
y ( x ) 1 x
2
!
3
!
4
!
5
!
2
!
y( x) x y
(1 )
(x)
x
2
y
(2)
( x)
2!
y
(3)
2
3
4
5
2
x
x
x
x
x
(3)
( x ) 1 x
y ( x ) 1 x
2
!
3
!
4
!
5
!
2
!
単純化
一方,定義から
e
x
1 x
x
2
x
2!
3!
3
x
4
4!
x
5
5!
2
x
(1 )
(2)
(3)
x
y( x x) y( x) x y ( x)
y ( x ) y ( x )e 1 x
2!
2!
x
2
最終的な数式モデル
yn xn yn , yn
(1 )
2
(2)
2 xn yn , yn
(1 )
(3)
2 yn
(2)
x n 1 x n x ,
y n 1 y n x y
(1 )
n
x
2
2!
y
(2)
n
y
(3)
n
2
x
x
e 1 x
2!
テーラ展開による方法
テーラ展開による方法(結果)
[例題2]
2
d x
dt
x
(2)
x
x,
(1 )
2
x
x
(3)
(t h ) x
1,
(1 )
x
(4)
( t ) hx
(2)
x
(5)
(t )
h
2
x
x
(3)
(t )
(n)
0
[結果]