差分方程式って何?

次の関数のグラフを思い浮かべてみてください。

f(x) = 2*x

y = 2x と書いた方が分かりやすいでしょうか。 でも,簡単ですよね?右肩上がりの直線です。

ここでこの直線は原点0を通ります。実際,f(0) = 0 です。 では,x = 1 のときの f(x) の値はいくらでしょうか?答えは f(1) = 2 になります。 xを代入するだけです。

では,Aを適当な数字として,f(A) = 111 だとします。 では,f(A+1) はいくらでしょう?答えは113です。 y = 2xですから,xが1増えればyは2増えるので,当然です。

ところで,今あなたは差分方程式を解きました。 今は意味が分からないと思います。 このページを最後まで読み終わった後,ここまでをもう一度読み返してみてください。 そのときにはすんなり理解できているはずです。 とにかく,原理は理解できているので,後はそれを実際に適用する方法が必要です。

さて,f(x) = 2x では,f(A+1) は f(A) に2を足せば求められます。 もし f(x) = 3x であれば,3を足します。これは直線の傾きが2や3だからです。 つまり,xが1増えたらyは直線の傾きだけ増やせばいいわけです。 そして,直線(や曲線)の傾きを求めるには,その関数を微分してやります。 f(x) = 2x を微分すると,

f'(x) = 2

となります。 この式は,f(x) における地点xでの傾きが2であることを表しています。

次に,xがA増えると,元の f(x) の値にA*2を足せば f(x+A) が求まるわけですから,

f(x+A) = f(x) + 2*A

となります。 小さな変位はよくdxと書かれるので,Aをdxに書き換えると,

f(x+dx) = f(x) + 2*dx

この式を f(x) = 2x の差分方程式と呼びます。 差分方程式は,dxだけ増加した場合は前の値に(dx×傾き)分だけ足すという,ただそれだけの式です。

ただしこれだけでは f(x) の値は求められないので, どこかxの値を1つ決めて,最初の式を使って計算しておきます。 この場合,最初の式とは,

f(x) = 2*x

のことです。 例えば f(0) だったら0になりますね。 最終的に,差分方程式を使って f(x) の値を求めてみると,次のような感じになります。 dxは自分で決めるので,ここでは0.1としましょう。

f(0) = 0, f(0.1) = 0.2, f(0.2) = 0.4, f(0.3) = 0.6

なんといいますか,f(x) = 2x のような簡単な式を差分方程式で表しても,無駄なような気もします。 で,結論として,関数を差分方程式で表して解く手順は次のようになります。

  1. 微分する
  2. 差分方程式で書く
  3. 適当な f(x) の値を1つ求める
  4. そこから順々に計算する

ちなみに前述の差分方程式中の2という数字は,f(x) を微分したものであるので,差分方程式をもう少し一般的に書くと,

f(x+dx) = f(x) + dx * f'(x)

となります。

$Id: difference_equation.shtml 1289 2007-02-04 13:22:39Z SYSTEM $