ゴールを意識するのが大事
どんな仕事でも、
「これが達成できたら完了」
という、明確なゴールを決めるのが重要です。
そして、そのゴールをから逆算して、やるべき事の優先順位をつけていくのが、目的となる成果をあげる近道になります。
仕事だけでなく、試験問題を解く時も同じです。
長い計算が必要になる場合、
「何を求めるための計算なんだっけ?」
ってなってしまう事がよくあります。それは、
「まず何から計算しようか」
と、入り口から入ってしまうから迷子になるのです。
迷路と一緒で、
「何の数値を求めたいか」
というゴールから考えて、
「それを求めるためには、どんな数値を計算する必要があるか」
と、得たい結果から必要な計算を逆に考えていくと、迷いが無くなり、無駄も減らすことが出来ます。
ということで、微分方程式の続きです。前回の記事は、こちら。
●関数の方程式
前回の記事でも申し上げましたが、「微分方程式」は「関数の方程式」です。
普通の方程式は、「未知数を "x"」として、「1次方程式」であれば、
ax - b = 0
という式から、
x = a / b
という風に、「 x の値」を求めます。
それに対して「関数方程式」は、「変数 "x" に関する未知の関数 "f(x)"」に対し、例えば「1次関数」だったとしたら、
2f(x) -3 = 6x + 1
という方程式から、
f(x) = 3x + 2
と、「x についての式」が求まるというものです。
ちなみに、これは関数 f(x) に関しての1次式になるので、
「線形」関数方程式
という事になります。もし、
f^2(x) (2乗の形)
とか、
exp{f(x)} (指数の形)
とか出てきたら、「非線形」という事になります。
このように、
関数に演算をした結果をもとに、元の関数を求める
のが関数方程式ということになります。
●位置的変化や時間的変化が知りたい
関数の方程式を立てるのは、時間や空間による現象の変化が知りたいからでした。
例えば、下図のように、高いところから水平に打ち出した物体が、打ち出した地点の高さによって落下地点がどうなるか求めたいとします。
立てられる式としては、「時間を "t [s]"」、「重力加速度を 9.8 m/s^2」 として、
x = 5t
y = 9.8t^2
となります。落下地点では、
y = h
となり、この
「高さ "h"」による「水平距離 "x"の式」
が求まれば、高さによる落下地点がわかるので、
h = 9.8t^2
より、
t = √(h / 9.8)
なので、これを x の式に代入すると、
x = 5t = 5√(h / 9.8)
と求まり、これは、
「x の h に関する関数」を連立方程式で求めた事
で、現象の変化を計算で知ることが出来たことになります。
●関数の関数も関数だ
そもそも、関数というのは
「ある数からまたある数への写像(変換)」
です。
例えば、
f(x) = x^2 + 2x
という関数は、
x → f(x)
1 → 3
2 → 8
3 → 15
という写像になっています。
数から数への写像は、
x + 3
(3 + j4)x
のような、「実数や複素数の加算や乗算」や、
x^2
等のべき乗、
sin(x)
などの三角関数や指数関数の演算があります。
それに対して、関数から関数への写像は、これらの演算の他に、
微分、積分、フーリェ変換、ラプラス変換
等、が存在します。この関数の写像を、「汎関数」と呼んだりします(下図)。
一番分かりやすいのは微積分の計算で、微分は、
f(t) → df(t)/dt = f'(x)
と、
「関数から、その関数の変化率を表す関数へ写像する汎関数」
ということになります。そして、この
「汎関数による写像結果から元の関数(原始関数)を求める汎関数」
が積分ということになります。
そう考えると、積分計算が、一番簡単な「微分方程式の解き方」と言うこともできるわけですね。
●物理法則から時間変化を予測する
上の例では、"x", "t", "h" という 3変数に関する連立方程式から、x と h の関係を求めるというもので、方程式とあまり変わらないと思ったかもしれません。しかし、微分方程式だと様子が変わります。
上図のように、バネ定数(バネの強さ)"k [N/m]" のバネに、"m [kg]" の錘をぶら下げる事を考えます。
止まっている状態では、
重力 mg = バネの引張り力 kx_0 ("x_0 [m]" は、つり合い点でのバネ伸び)
と力がつり合って変化はありません。しかし、例えばつり合い点から下に x [m] だけ引っ張れば、
力 F = mg - kx [N]
だけの上向きの力が働きます。錘はその力で加速しますから、加速度運動をします。
すなわち、距離 x が時間的に変化し、「時間 "t" に関する関数」
x = x(t)
ということになります。その「運動方程式」は、
加速度 ma = F
より、
ma = mg - kx --- (1)
と書けます。
「加速度 "a"」は、単位が [m/s^2] です。これは、距離を時間で2回割っている形ですが、演算としては
「距離の2回微分」
になっていて、(1) 式は
m(d^2 x / dt^2) = mg - kx --- (2)
と書けます。
"L(d^2 x / dt^2)" が、「x を時間で2回微分した項」
"kx" が、「x そのままの項」
となり、これで物理法則から
「距離 x を時間 t で微分した、微分方程式が得られた」
事になります。この方程式を解いて、
x = f(t)
の形で表す事ができれば、この錘の位置の時間的変化が計算だけでわかるわけです。ちなみにこれは、
錘がつり合い点より上に行った時点で x がマイナスになる
ので、
バネの復元力が下向きになり振動する
事がわかります(それは計算しなくても分かりますね)。
ただ、これは単純に
代数計算で "f(x) = " の形にする
とか、
tで積分する
だけでは "x(t) = " の形にならないので、解の形を予想したりして、工夫して解く必要があります。
●微分方程式を立てたからわかる事もある
このように、微分方程式は単なる「関数の演算」です。だから、それを立てて解く時は、
「何のどのような変化が知りたいのか」
というゴールを意識しておくことが大事になります。そして物理的には、
「解ける、または数値計算できる形の微分方程式を立てる事」
が大きな目標地点になります。
しかし面白いのは、
「微分方程式を立てると、いろいろな現象の共通点」が分かります。
例えば、以下のような、「インダクタンス "L [H]" のコイル」と「静電容量 "C" [F]」が直列に接続された電気回路を考えます。
回路に流れる電流を "i [A]" とすると、電源電圧 "E [V]" との電圧のつり合いの式より、
E = L(di / dt) + (1/C)∫ i dt --- (3)
(電源電圧が、「コイルの誘導起電力」と、「コンデンサの蓄勢電圧」の和に等しい)
という形の方程式が立てられます。
電流 i は、コンデンサに蓄積された「電荷 "q [C]"」を使って、
i = dq / dt (電流は、電荷の時間変化に等しい)
と書けますので、(3)式は、
E = L(d^2 q / dt^2) + (1/C)q --- (4)
となります。
この式を、「バネと重りの場合」の式 (2) と見比べてみると、
"(d^2 q / dt^2)" が、「"q" の2回微分の項」
"(1/C)q" が、「"q" そのままの項」
となり、同じ形をしていることが分かります。
なので、この回路は
「電荷’(電流)が振動的な動きをする」
と予想できるわけです。
逆に、現在のようにコンピュータシミュレーションができなかった時代には、電気回路を使って、このような振動現象などをシミュレーションしていたこともあったそうです。
これこそ、
「微分方程式により、現象の共通項を見出して予測しやすくなる」
という利点だと言えます。
次回は、微分方程式の解き方を解説しても面白くないので、ラプラス変換した式からの現象の解析について、考えてみたいと思います。
ちなみに、代表的な微分方程式の解き方は、YouTubeで解説していますので、よろしければご覧ください。