29
計算機実験1 自然情報学講座 瀬戸 繭美 [email protected] H25 奈良女 計算機実験1 2

H25 奈良女 計算機実験1 第2回seto/keisanki1/H25_kei...H25 奈良女 計算機実験1 瀬戸担当分第2回 前回まで t i t i+1 x i x i +1 f(t i, x i) x t 誤差 Euler法による常微分方程式の数値解法

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: H25 奈良女 計算機実験1 第2回seto/keisanki1/H25_kei...H25 奈良女 計算機実験1 瀬戸担当分第2回 前回まで t i t i+1 x i x i +1 f(t i, x i) x t 誤差 Euler法による常微分方程式の数値解法

計算機実験1

自然情報学講座 瀬戸 繭美[email protected]

H25 奈良女 計算機実験1 第2回

Page 2: H25 奈良女 計算機実験1 第2回seto/keisanki1/H25_kei...H25 奈良女 計算機実験1 瀬戸担当分第2回 前回まで t i t i+1 x i x i +1 f(t i, x i) x t 誤差 Euler法による常微分方程式の数値解法

H25 奈良女 計算機実験1 瀬戸担当分第2回

前回まで

ti ti+1

xi

xi+1

f(ti, xi)

x

t

誤差

Euler法による常微分方程式の数値解法

問題点

精度の低い近似( 時間の刻み幅を小さくすることにより改善するが計算量が大きくなる)

h

解析解

数値解

Page 3: H25 奈良女 計算機実験1 第2回seto/keisanki1/H25_kei...H25 奈良女 計算機実験1 瀬戸担当分第2回 前回まで t i t i+1 x i x i +1 f(t i, x i) x t 誤差 Euler法による常微分方程式の数値解法

H25 奈良女 計算機実験1 瀬戸担当分第2回

修正Euler法

ti ti+1

xi

xi+1

x

t

誤差

区間の中点に相当する曲線の勾配を用いるEuler法

ti + h/2

h

f

�t

i

+ t

i+1

2,

x

i

+ x

i+1

2

k1 = h f (ti

, x

i

)

x

i+1 = x

i

+ h f

�t

i

+ h

2, x

i

+ k1

2

�xi+1

Page 4: H25 奈良女 計算機実験1 第2回seto/keisanki1/H25_kei...H25 奈良女 計算機実験1 瀬戸担当分第2回 前回まで t i t i+1 x i x i +1 f(t i, x i) x t 誤差 Euler法による常微分方程式の数値解法

H25 奈良女 計算機実験1 瀬戸担当分第2回

オイラー法との精度の比較

x(t)をt = ti の周りでテイラー展開すると

x(ti+1) = x(t

i

+h) = x(ti

)+hx

�(ti

)+h

2

2x

��(ti

)+ · · ·オイラー法

修正オイラー法

修正オイラー法はTaylor級数のO(h2)までの項と一致 (精度は2次)

Page 5: H25 奈良女 計算機実験1 第2回seto/keisanki1/H25_kei...H25 奈良女 計算機実験1 瀬戸担当分第2回 前回まで t i t i+1 x i x i +1 f(t i, x i) x t 誤差 Euler法による常微分方程式の数値解法

H25 奈良女 計算機実験1 瀬戸担当分第2回

Runge-Kutta (ルンゲ・クッタ) 法Euler法より精度の高い近似を得る解法

Taylor級数のO(h4)までの項と一致(精度は4次)

4次のルンゲ・クッタ法k1 = f (t

i

, xi

)

k2 = f (ti

+h

2, x

i

+h

2k1)

k3 = f (ti

+h

2, x

i

+h

2k2)

k4 = f (ti

+ h, xi

+ hk3)

x

i+1 = x

i

+ h

�k1

6+

k2

3+

k3

3+

k4

6

Page 6: H25 奈良女 計算機実験1 第2回seto/keisanki1/H25_kei...H25 奈良女 計算機実験1 瀬戸担当分第2回 前回まで t i t i+1 x i x i +1 f(t i, x i) x t 誤差 Euler法による常微分方程式の数値解法

H25 奈良女 計算機実験1 瀬戸担当分第2回

k1 = f (ti

, xi

)

k2 = f (ti

+h

2, x

i

+h

2k1)

k3 = f (ti

+h

2, x

i

+h

2k2)

k4 = f (ti

+ h, xi

+ hk3)

x

i+1 = x

i

+ h

�k1

6+

k2

3+

k3

3+

k4

6

ti ti+1

xi

xi+1

x

tti + h/2

h

4次のルンゲ・クッタ法

12

3

41

2

34

Runge-Kutta (ルンゲ・クッタ) 法

Page 7: H25 奈良女 計算機実験1 第2回seto/keisanki1/H25_kei...H25 奈良女 計算機実験1 瀬戸担当分第2回 前回まで t i t i+1 x i x i +1 f(t i, x i) x t 誤差 Euler法による常微分方程式の数値解法

H25 奈良女 計算機実験1 瀬戸担当分第2回

ti ti+1

xi

xi+1

x

tti + h/2

h

4次のルンゲ・クッタ法

12

12

34

Runge-Kutta (ルンゲ・クッタ) 法

k1 = f (ti

, xi

)

k2 = f (ti

+h

2, x

i

+h

2k1)

k3 = f (ti

+h

2, x

i

+h

2k2)

k4 = f (ti

+ h, xi

+ hk3)

x

i+1 = x

i

+ h

�k1

6+

k2

3+

k3

3+

k4

6

Page 8: H25 奈良女 計算機実験1 第2回seto/keisanki1/H25_kei...H25 奈良女 計算機実験1 瀬戸担当分第2回 前回まで t i t i+1 x i x i +1 f(t i, x i) x t 誤差 Euler法による常微分方程式の数値解法

H25 奈良女 計算機実験1 瀬戸担当分第2回

ti ti+1

xi

xi+1

x

tti + h/2

h

4次のルンゲ・クッタ法

12

3

12

34

Runge-Kutta (ルンゲ・クッタ) 法

k1 = f (ti

, xi

)

k2 = f (ti

+h

2, x

i

+h

2k1)

k3 = f (ti

+h

2, x

i

+h

2k2)

k4 = f (ti

+ h, xi

+ hk3)

x

i+1 = x

i

+ h

�k1

6+

k2

3+

k3

3+

k4

6

Page 9: H25 奈良女 計算機実験1 第2回seto/keisanki1/H25_kei...H25 奈良女 計算機実験1 瀬戸担当分第2回 前回まで t i t i+1 x i x i +1 f(t i, x i) x t 誤差 Euler法による常微分方程式の数値解法

H25 奈良女 計算機実験1 瀬戸担当分第2回

ti ti+1

xi

xi+1

x

tti + h/2

h

4次のルンゲ・クッタ法

12

3

41

2

34

Runge-Kutta (ルンゲ・クッタ) 法

k1 = f (ti

, xi

)

k2 = f (ti

+h

2, x

i

+h

2k1)

k3 = f (ti

+h

2, x

i

+h

2k2)

k4 = f (ti

+ h, xi

+ hk3)

x

i+1 = x

i

+ h

�k1

6+

k2

3+

k3

3+

k4

6

Page 10: H25 奈良女 計算機実験1 第2回seto/keisanki1/H25_kei...H25 奈良女 計算機実験1 瀬戸担当分第2回 前回まで t i t i+1 x i x i +1 f(t i, x i) x t 誤差 Euler法による常微分方程式の数値解法

H25 奈良女 計算機実験1 瀬戸担当分第2回

プログラム例 (ルンゲ・クッタ法, 1変数)#define  DT  0.01              /*  時間刻み幅  */

#define  STEP_MAX  1000  /*  実時間  DT*STEP_MAX  =  10.0  まで  */

double  fn(double,  double);  /*  導関数  */

void  runge_kutta(double,  double,  double*,  double);  /*  ルンゲ・クッタ法  */

main(){    long  step;    double  t,  x,  x_next;

   x=0.1;      /*  初期値設定  */

   for(i=0;  i<STEP_MAX;  i++){        t  =  i*DT;        euler(t,  x,  &x_next,  DT);        x  =  x_next;    }}

void  runge_kutta(double  t,  double  x,  double  *x_out,  double  h){...

}

double  fn(double  t,  double  x){...

}

dx

dt

= f (t,x)

t = 0 より t = DT*STEP_MAXまでを計算

Page 11: H25 奈良女 計算機実験1 第2回seto/keisanki1/H25_kei...H25 奈良女 計算機実験1 瀬戸担当分第2回 前回まで t i t i+1 x i x i +1 f(t i, x i) x t 誤差 Euler法による常微分方程式の数値解法

H25 奈良女 計算機実験1 瀬戸担当分第2回

プログラム例 (ルンゲ・クッタ法, 1変数)

void  runge_kutta(double  t,  double  x,  double  *x_out,  double  h){

}

関数runge_kutta

ti, x(ti), h の引数を与えると ti+1 = ti + h 時の x(ti+1) を引数を介して関数呼び出し元に返す

ti x(ti) x(ti+1)のアドレス h

k1 = f (ti

, xi

)

k2 = f (ti

+h

2, x

i

+h

2k1)

k3 = f (ti

+h

2, x

i

+h

2k2)

k4 = f (ti

+ h, xi

+ hk3)

x

i+1 = x

i

+ h

�k1

6+

k2

3+

k3

3+

k4

6

k1 = h f (ti

, xi

)

k2 = h f (ti

+h

2, x

i

+k1

2)

k3 = h f (ti

+h

2, x

i

+k2

2)

k4 = h f (ti

+ h, xi

+ k3)

x

i+1 = x

i

+

�k1

6+

k2

3+

k3

3+

k4

6

もしくは

Page 12: H25 奈良女 計算機実験1 第2回seto/keisanki1/H25_kei...H25 奈良女 計算機実験1 瀬戸担当分第2回 前回まで t i t i+1 x i x i +1 f(t i, x i) x t 誤差 Euler法による常微分方程式の数値解法

H22 奈良女 計算機実験1 第1回

1. 初期値問題(x(0) = 1)を刻み幅 h = 0.1 及び h = 0.05 のルンゲ・クッタ法 で解き、解析解(自分で求める)と比較し、下記の形式で出力し、 刻み幅 h を半分にすると解の精度はどの程度改善するか述べよ。

2. 解析解と数値解をMathematicaを用いて同一グラフで視覚化せよ。

解析解 誤差数値解

レポート課題3下記(1)式、(2)式の常微分方程式について下記の課題に取り組め

(1)

(2)解析解 誤差数値解

dx

dt

= �x sin (t) 0 ⇥ t ⇥ 50

dx

dt

= x 0 � t � 1

Page 13: H25 奈良女 計算機実験1 第2回seto/keisanki1/H25_kei...H25 奈良女 計算機実験1 瀬戸担当分第2回 前回まで t i t i+1 x i x i +1 f(t i, x i) x t 誤差 Euler法による常微分方程式の数値解法

H25 奈良女 計算機実験1 瀬戸担当分第2回

レポート課題4

下記(1)-(3)式の常微分方程式について初期値問題を刻み幅 h = 0.05 のルンゲ・クッタ法で解き、解析解と数値解をMathematicaを用いてグラフとして視覚化せよ。

(1)

(2)

(3)

t

dx

dt

= x +�

t

2 + x

2, x(0) = 1

dx

dt

= t

�1 � x

2�

, x(0) = 0.05

dx

dt

= � x

1 + t

+ cos t, x(0) = 1

x(0) = 0 0 ≤ t ≤ 5

1 ≤ t ≤ 10

0 ≤ t ≤ 100

1

Page 14: H25 奈良女 計算機実験1 第2回seto/keisanki1/H25_kei...H25 奈良女 計算機実験1 瀬戸担当分第2回 前回まで t i t i+1 x i x i +1 f(t i, x i) x t 誤差 Euler法による常微分方程式の数値解法

H25 奈良女 計算機実験1 瀬戸担当分第2回

ヒント(1)

(2)

(3)

dx

dt

= t

�1 � x

2�

, x(0) = 0.05

t

dx

dt

= x +�

t

2 + x

2, x(0) = 1

dx

dt

= � x

1 + t

+ cos t, x(0) = 1

ヒント1: 変数分離形dy

dx

= f (x)g(y)

ヒント1: 同次形dy

dx

= f

�y

x

�dx�

x

2 + a

2= sinh�1 x

a

+Cヒント2:

sinh-1 x (インバースハイパボリックサイン)はMathematicaではArcSinh[t]

ヒント1: 1階線形微分方程式

x

� + P(t)x = Q(t)

µ = e�

P(t)dt

ヒント2: 積分因子を求めて両辺にかけると?

ヒント3: d

dt

(1 + t)x =?

Page 15: H25 奈良女 計算機実験1 第2回seto/keisanki1/H25_kei...H25 奈良女 計算機実験1 瀬戸担当分第2回 前回まで t i t i+1 x i x i +1 f(t i, x i) x t 誤差 Euler法による常微分方程式の数値解法

1 階の連立常微分方程式 ベクトル表示の場合

オイラー法

連立常微分方程式

Page 16: H25 奈良女 計算機実験1 第2回seto/keisanki1/H25_kei...H25 奈良女 計算機実験1 瀬戸担当分第2回 前回まで t i t i+1 x i x i +1 f(t i, x i) x t 誤差 Euler法による常微分方程式の数値解法

k

1

= f(t, x)

k

2

= f(t +h

2, x +

h

2k

1

)

k

3

= f(t +h

2, x +

h

2k

2

)

k

4

= f(t + h, x + hk

3

)

x(t + h) = x(t) + h

�k

1

6+

k

2

3+

k

3

3+

k

4

6

1 階の連立常微分方程式 ベクトル表示の場合

ルンゲ・クッタ法

連立常微分方程式

Page 17: H25 奈良女 計算機実験1 第2回seto/keisanki1/H25_kei...H25 奈良女 計算機実験1 瀬戸担当分第2回 前回まで t i t i+1 x i x i +1 f(t i, x i) x t 誤差 Euler法による常微分方程式の数値解法

H25 奈良女 計算機実験1 瀬戸担当分第2回

プログラム例 (ルンゲ・クッタ法, 多変数)#define  DIM  2                    /*  次元  (変数の数)  */

#define  DT    0.01              /*  時間刻み幅  */

#define  STEP_MAX  1000    /*  実時間  DT*STEP_MAX  =  10.0  まで  */

void  derives(double,  double[],  double[],  int);  /*  導関数  */

void  runge_kutta(double,  double,  double*,  double);  /*  ルンゲ・クッタ法  */

main(){    long  step;    double  t,  x,  x_next;

   x=0.1;      /*  初期値設定  */

   for(i=0;  i<STEP_MAX;  i++){        t  =  i*DT;        euler(t,  x,  &x_next,  DT);        x  =  x_next;    }}

void  runge_kutta(double  t,  double  x,  double  *x_out,  double  h){...

}

double  fn(double  t,  double  x){...

}

t = 0 より t = DT*STEP_MAXまでを計算

dx

dt= f (t, x)

Page 18: H25 奈良女 計算機実験1 第2回seto/keisanki1/H25_kei...H25 奈良女 計算機実験1 瀬戸担当分第2回 前回まで t i t i+1 x i x i +1 f(t i, x i) x t 誤差 Euler法による常微分方程式の数値解法

H25 奈良女 計算機実験1 瀬戸担当分第2回

void  derives(double  t,  double  x[],  double  derivatives[]){

}

関数derives

t, x(ti)の引数より導関数を計算し、derivatives[] 引数を介して計算結果を返す

ti x(ti)dx/dt

orf(t, x)

f(t, x)をそれぞれ計算し, それぞれの変数の導関数をderivatives[] に格納

例) derivative[0]  =  a*(x[1]-­‐x[0]);

プログラム例 (ルンゲ・クッタ法, 多変数)

Page 19: H25 奈良女 計算機実験1 第2回seto/keisanki1/H25_kei...H25 奈良女 計算機実験1 瀬戸担当分第2回 前回まで t i t i+1 x i x i +1 f(t i, x i) x t 誤差 Euler法による常微分方程式の数値解法

H25 奈良女 計算機実験1 瀬戸担当分第2回

void  derives(double  t,  double  x[],  double  x_out[],  double  h){

}

関数runge

t, x(ti), hよりルンゲクッタ法で x(ti+1) で計算し、x_out[] にそれぞれの結果を格納する

ti x(ti)

赤四角内を計算し, x_out[] に格納

プログラム例 (ルンゲ・クッタ法, 多変数)

x(ti+1) h

k1~k4はそれぞれderives[]を用いて計算する

k

1

= f(t, x)

k

2

= f(t +h

2, x +

h

2k

1

)

k

3

= f(t +h

2, x +

h

2k

2

)

k

4

= f(t + h, x + hk

3

)

x(t + h) = x(t) + h

�k

1

6+

k

2

3+

k

3

3+

k

4

6

Page 20: H25 奈良女 計算機実験1 第2回seto/keisanki1/H25_kei...H25 奈良女 計算機実験1 瀬戸担当分第2回 前回まで t i t i+1 x i x i +1 f(t i, x i) x t 誤差 Euler法による常微分方程式の数値解法

H25 奈良女 計算機実験1 瀬戸担当分第2回

• ロトカ・ボルテラ被食-捕食系

• ローレンツ系

Page 21: H25 奈良女 計算機実験1 第2回seto/keisanki1/H25_kei...H25 奈良女 計算機実験1 瀬戸担当分第2回 前回まで t i t i+1 x i x i +1 f(t i, x i) x t 誤差 Euler法による常微分方程式の数値解法

H25 奈良女 計算機実験1 瀬戸担当分第2回

dx

dt

= ax�bxy

dy

dt

=�cy+dxy

a: 餌生物の増殖速度b: 捕食による餌生物の減少速度c: 捕食者の死亡速度d: 捕食による捕食者の増殖速度

餌生物

捕食者

Lotka-Volterra捕食式

• 捕食者がいなければ餌生物は指数増殖• 餌生物がいなければ捕食者は絶滅

Page 22: H25 奈良女 計算機実験1 第2回seto/keisanki1/H25_kei...H25 奈良女 計算機実験1 瀬戸担当分第2回 前回まで t i t i+1 x i x i +1 f(t i, x i) x t 誤差 Euler法による常微分方程式の数値解法

H25 奈良女 計算機実験1 瀬戸担当分第2回

レポート課題5

パラメータa = 1, b = 0.03, c = 1, d = 0.025の条件でロトカ・ボルテラ捕食式をルンゲ・クッタ法を用いて解け。なお、初期値 x(0), y(0) を様々な値に設定したとき、解が相平面上でどのような軌道を描くか調べて比較せよ。

Page 23: H25 奈良女 計算機実験1 第2回seto/keisanki1/H25_kei...H25 奈良女 計算機実験1 瀬戸担当分第2回 前回まで t i t i+1 x i x i +1 f(t i, x i) x t 誤差 Euler法による常微分方程式の数値解法

H25 奈良女 計算機実験1 瀬戸担当分第2回

ローレンツ方程式

dx1

dt

= a

(x2 � x1)

dx2

dt

= bx1 � x2 � x1x3

dx3

dt

= x1x2 � cx3

1963年に大気学者であるE. N. Lorenzによって定式化された極度に単純化された大気対流モデル

対流運動の速度

水平方向の温度変位

垂直方向の温度変位

a: プラントル数b: レイリー数c: 系の物理的サイズに関わるパラメータ

Page 24: H25 奈良女 計算機実験1 第2回seto/keisanki1/H25_kei...H25 奈良女 計算機実験1 瀬戸担当分第2回 前回まで t i t i+1 x i x i +1 f(t i, x i) x t 誤差 Euler法による常微分方程式の数値解法

H25 奈良女 計算機実験1 瀬戸担当分第2回

レポート課題6

(1) パラメータa = 10, b = 28, c = 8.0/3の条件でローレンツ方程式をルンゲ・クッタ法を用いて解き、3次元表示で視覚化せよ。なお、初期条件は (a) (x1, x2, x3) = (0, 2, 0)と(b) (x1, x2, x3) = (0, 1.99, 0) として計算せよ。

(2)(1)の(a)と(b)の計算結果について、 横軸を時間とした x1 の時間動態の図を作成し、解の振る舞いを比較せよ。

t

x1 ?

Page 25: H25 奈良女 計算機実験1 第2回seto/keisanki1/H25_kei...H25 奈良女 計算機実験1 瀬戸担当分第2回 前回まで t i t i+1 x i x i +1 f(t i, x i) x t 誤差 Euler法による常微分方程式の数値解法

H25 奈良女 計算機実験1 瀬戸担当分第2回

Mathematicaによる数値解の視覚化 (1/4)オイラー法により書き出したMathematica により読み込み, 視覚化する ti x1(ti)

$ mathematica

SetDirectory[“~/keisanki-1-2010/”]

1) オイラー法により計算した結果を右図の形式で書き出す

2) GNOME端末からMathematicaを起動する

3) Mathematicaのシートでデータファイルのあるディレクトリを【SetDirectory】コマンドで指定する

x2(ti)0.000  1.00  2.00  3.000.001  1.02  1.97  3.030.002  1.05  1.94  3.08...

スペースを空ける

x3(ti)

Page 26: H25 奈良女 計算機実験1 第2回seto/keisanki1/H25_kei...H25 奈良女 計算機実験1 瀬戸担当分第2回 前回まで t i t i+1 x i x i +1 f(t i, x i) x t 誤差 Euler法による常微分方程式の数値解法

H25 奈良女 計算機実験1 瀬戸担当分第2回

data = ReadList[ “data_file”, {Real, Real, Real, Real}];

データファイルより{ti, x1(ti), x2(ti), x3(ti)}の対を読み込み、読み込んだリストにdata という名前を付ける。

Mathematicaによる数値解の視覚化 (2/4)4) データファイルを読み込む

5) グラフ描画用にデータを成形する - リストの転置

data は {{t0, x1(t0), x2(t0), x3(t0)}, {t1, x1(t1), x2(t1), x3(t1)}, ... } という形式になっているのでTranspose(転置)コマンドによりdataの成分を転置したものをdataTとする

dataT = Transpose[data];

これにより dataT は {{t0, t1, t2, ... }, {x1(t0), x1(t1), x1(t2), ... }, {x2(t0), x2(t1), x2(t2), ...}, {x3(t0), x3(t1), x3(t2), ... }} となる

Page 27: H25 奈良女 計算機実験1 第2回seto/keisanki1/H25_kei...H25 奈良女 計算機実験1 瀬戸担当分第2回 前回まで t i t i+1 x i x i +1 f(t i, x i) x t 誤差 Euler法による常微分方程式の数値解法

H25 奈良女 計算機実験1 瀬戸担当分第2回

Mathematicaによる数値解の視覚化 (3/4)6) グラフ描画用にデータを成形する - 描画用リストの作成

dataX = Transpose[ {dataT[[1]], dataT[[2]] } ];dataY = Transpose[ {dataT[[1]], dataT[[3]] } ];dataZ = Transpose[ {dataT[[1]], dataT[[4]] } ];

dataT の第 1 成分と他成分を組み合わせて転地し、新たに( t, x1(t) ), ( t, x2(t) ), ( t, x3(t) ) のデータリストを作成する

3次元プロット用に( x1(t), x2(t), x3(t) ) のデータ dataXYZ をつくる

dataXYZ = Transpose[ {dataT[[2]], dataT[[3]], dataT[[4]] } ];

Page 28: H25 奈良女 計算機実験1 第2回seto/keisanki1/H25_kei...H25 奈良女 計算機実験1 瀬戸担当分第2回 前回まで t i t i+1 x i x i +1 f(t i, x i) x t 誤差 Euler法による常微分方程式の数値解法

H25 奈良女 計算機実験1 瀬戸担当分第2回

Mathematicaによる数値解の視覚化 (4/4)7) データをグラフに描く時系列データをグラフに描くコマンド ListPlot を用いて、横軸を時刻 t 、縦軸をそれぞれ x1(t), x2(t), x3(t) としたグラフを描き、名前を付ける

gx = ListPlot[ dataX, Joined->True, PlotRange->All]gy = ListPlot[ dataY, Joined->True, PlotRange->All]gz = ListPlot[ dataZ, Joined->True, PlotRange->All]

3 つのグラフを Show コマンドで重ね合わせて表示

Show[gx, gy, gz]

3 次元空間の軸をそれぞれ x1(t), x2(t), x3(t) としたグラフ(相空間内の解軌道)を描く。

視点を指定する

ListPointPlot3D[dataXYZ, BoxRatios->{1,1,1}, ViewPoint->{0.810, -2.475, 2.160}]

軸の表示比率を指定

Page 29: H25 奈良女 計算機実験1 第2回seto/keisanki1/H25_kei...H25 奈良女 計算機実験1 瀬戸担当分第2回 前回まで t i t i+1 x i x i +1 f(t i, x i) x t 誤差 Euler法による常微分方程式の数値解法

H25 奈良女 計算機実験1 瀬戸担当分第2回

参考文献: 1) 高須 夫悟 (2009) H21年度 計算機実験1 講義レジュメ2) Hirsch, M.W., Smale S., Devaney, R.L. (2007) 力学系入門 原著第2版 - 微分方程式からカオスまで - , 株式会社 共立出版