II  差分法で近似する


(1) 関数 f(x) に対して,lim を用いて導関数 f'(x) を与える式を思い出してください.
(答えはここをクリックするとわかります)


(2) 微分方程式 x''(t) + x(t) =0 から差分方程式を作る方法

上の (1) で示された f(x) を x(t), x'(t) に読み換えて

x'(t)=(x(t+h)-x(t))/h , x''(t)=(x'(t+h)-x'(t))/h

を得る.これを変形して

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

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

とする.また,微分方程式 x''(t)+x(t)=0 より x''(t)=-x(t) だから

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

x'(t+h)=x'(t)-hx(t)

なる関係式が成立する.

この2つの関係式を行列を 用いて表したものが差分方程式 です.

(ここをクリックすると,差分方程式が出ます)


この差分方程式は,
2つの値の組 (x(t),x'(t)) から,
h だけ先にある値の組 (x(t+h), x'(t+h)) が
どのような規則で決まるかを指し示している.

(具体的には行列との積を計算する)

(3) n を大きな自然数とし,h=1/n と考えれば,この差分方程式は,初期値 (x(0), x'(0))=(1,0) から順に

(x(1/n), x'(1/n))

(x(2/n), x'(2/n))

(x(3/n), x'(3/n))

(x(4/n), x'(4/n))

....

(x(k/n), x'(k/n))

と決めるルールを与える.

(x(k/n), x'(k/n))を計算する手順は (2) の差分方程式より,
数学的には以下のように表せます.
(自分で考えてみよう)

(ここをクリックすると,その答えが出ます)


このルールを利用すれば,大きな自然数 n に対して, 時間を t=0/n, 1/n, 2/n, 3/n, ... のように表して,この値を x(t)に 代入して

x(0/n), x(1/n), x(2/n), x(3/n), ...

の位置を順に観察していくことで重りの動きを知ることができる. この状況を時間との組

(k/n, x(k/n)) (k=0,1,2, ... )

として観察する.


なんと! 
n を大きくすると、 三角関数 y=cos x のグラフに沿って動くことが観察できる.


この動きを観察するために MathReader を起動し,実行ファイル lesson2.nb を開きます. (file メニューで open をクリックして lesson2 を選択).
(注意) 実行ファイル lesson2.nb が C ドライブのフォルダー MathReader に保存していない場合は ここをクリックして手に入れてください.


微分方程式を解析的に解くとは,
n を限りなく大きくした状況を考えて,
このような関数 cos x を求めることです.


次のページに進む

前のページに戻る