10. 常微分方程式(微分方程式)

常微分方程式(Ordinary Differential Equation:ODE)は、未知の関数とその導関数を含む方程式のことである。常微分方程式は、関数の変化を記述するために使われ、しばしば時間や空間など、1つの独立変数に対する関数の変化を扱う。物理学、工学などの多くの分野で、自然現象やシステムのモデリングに利用される。

ニュートンの運動方程式

ニュートンの運動方程式の1次元の場合を考える。質点\(M\)の質量を\(m\)、\(M\)の運動の加速度を\(a\)、\(M\)に働く力を\(F\)とすると、ニュートンの第2法則は、慣性系において$$ma = F$$である。時間を\(t\)、\(M\)の座標を\(x\)、速度を\(v\)とすると、$$v = \frac{dx}{dt} ,\;\;\; a =\frac{dv}{dt}$$なので、\(F\)を\(x\)の関数として、$$m \frac{d^2 x}{dt^2}=F(x) \;\;\; \cdots (1)$$と表せる。\(F(x)\)を既知の関数、\(t\)を独立変数、\(x\)を\(t\)の未知関数とするとき、式(1)のように未知関数の導関数を含む方程式を微分方程式という。
微分方程式を満たす\(x(t)\)を求める方法が微分方程式の解法である。式(1)を解くには、$$m\frac{d^2 x}{dt^2} = m \frac{dv}{dt}, \;\;\; dx = v dt$$なので、式(1)の両辺に\(dx\)を乗じると、$$mvdv = F(x) dx$$と表せる。これを積分して$$\frac{1}{2} mv^2 + U(x) = E \;\;\; \cdots (2) \\U(x) = -\int_0^x F(u)du$$と表す。\(\frac{1}{2}mv^2\)を運動エネルギー、\(U(x)\)を位置エネルギー(ポテンシャルエネルギー)、\(E\)を力学的エネルギーと称し、力学的エネルギー \(E\)は、運動エネルギーと位置エネルギーの和として表される。これを力学的エネルギーの保存則という。式(2)は\(v\)についての2次代数方程式なので、\(v\)について解いて、\(t\)について積分すれば\(x\)が求まる。これで、式(1)の微分方程式が解けたことになる。

常微分方程式

独立変数が1個の微分方程式を常微分方程式といい、独立変数が複数個ある場合の微分方程式を偏微分方程式という。ここでは、常微分方程式について考える。
電気電子(制御)工学系では、時間\(t\)を独立変数にとることが多い。未知関数も1個の場合、それを\(x\)とすると、常微分方程式は、$$f(t,\;x,\;x',\;x'',\; \cdots x^{(n)})=0 \;\;\; \cdots (3)$$と表せる。最高階の導関数が\(x^{(n)}\)とすると、\(n\)階の常微分方程式という。最高階\(x^{(n)}\)について表した$$x^{(n)} = g(t,\;x,\;x',\;x'',\; \cdots x^{(n-1)})$$を正規型という。
未知関数が満たす方程式が複数個ある場合を連立微分方程式という。未知関数の数を\(m\)とすると、独立な方程式の数も\(m\)のとき、解が存在する。式(1)は\(n\)元連立1階微分方程式$$f(t,\;x,\;x',\;x'',\; \cdots x^{(n)})=0 \\ x'_1 = x_2 , \;\;x'_2 = x_3,\;\cdots , x'_{n-1} = x_n$$と同等である。同様に、連立高階微分方程式は、連立1階微分方程式に帰着する。制御工学や電気工学などで使用する状態方程式がこの形式を使っている。

1階の微分方程式を解くには1回不定積分をする必要がある。これにより、解は積分定数\(C\)(任意定数)を含むことになる。\(m\)元連立1階微分方程式の解は、\(m\)個の独立な任意定数を含む。式(1)の解は\(n\)個の独立な任意定数を含み、これを一般解という。一般解の任意定数を特殊な値にしたものを特殊解(特解)という。一般解の形で表すことができない解で積分定数が含まれておらず、かつ特殊解でもない解を特異解という。
式(1)の一般解として、\(n\)個の独立な任意定数\(C_1,\;C_2,\; \cdots ,\;C_n\)を含む解が見つかったとして、それを$$x = h(t;\;C_1,\;C_2,\;\cdots,\;C_n) \;\;\; \cdots (4)$$とする。これを\(t\)について\(k\)回微分すると、$$x^{(n)} = \left(\frac{\partial }{\partial t}\right)^k h(t; \;C_1,\;C_2,\;\cdots,\;C_n) \;\;\;(k=1,2,\cdots, n) \;\;\; \cdots (5)$$である。\(n+1\)個の方程式式(4)、式(5)から\(n\)個の任意定数\(C_1,\;C_2,\;\cdots,\;C_n\)を消去すれば、もとの微分方程式(3)に戻る。
例えば、\(tx' - 2x = 0\)の一般解は、$$t\frac{dx}{dt} = 2x \;\;\; \;\;\int\frac{1}{x} dx = 2 \int\frac{1}{t} dt \;\;\;\;\; \ln x = \ln t^2 + C\\ x=e^{\ln t^2 + C} = K t^2$$ (\(C,\;K=e^C\)は積分定数)である。この結果を微分すると、$$x' = 2K t$$で、この2式より\(K\)を消去すると、$$x= \frac{x'}{2t} t^2 = \frac {x' t}{2} \\ tx' -2x =0$$と元の微分方程式となる。
工学、物理学などで応用するときは、任意定数は初期条件によって決まることが多い。例えば、ニュートンの運動方程式の場合、時刻\(t=0\)における初期位置\(x=x_0\)と初速度\(v=v_0\)を与えると、一意的に解が定まる。

スケール変換、並進変換

微分方程式が変数の変換に対して不変になっている場合は、解の形が制限され、しばしば解きやすくなる。代表的なのがスケール変換不変性である。
スケール変換は、方程式の変数やパラメータに、一定の倍率をかけることによって、方程式の見た目を変える操作のことである。物理学や工学では、現象のスケールを変えても同じ法則が成り立つ場合が多く、スケール変換は、方程式の構造をより深く理解し、解きやすくするために用いられる。スケール変換により、
・方程式の簡略化:複雑な微分方程式を、よりシンプルな形に変形できることがある。
・無次元化:物理的な次元を持つ変数を、無次元の変数に変換することで、物理的な意味をより明確にしたり、数値計算を安定化させたりすることができる。
・対称性の発見:方程式の対称性を明らかにし、解の構造を理解する手がかりを得ることができる。
・相似則の導出:異なるスケールの現象の間の関係性を明らかにすることができる。
例えば、\(\frac{dx}{dt} = k x\)(\(k\)は定数)において、\(t = a t_1 ,\;\;x = b x_1\)(\(a,b\)は定数)とスケール変換すると、$$\frac{dx}{dt} = \frac{d(b x_1)}{d(a t_1)} = \left(\frac{b}{a}\right) \frac{d x_1}{d t_1} = k b x_1 \\ \frac{d x_1}{d t_1 } = a k x_1$$となる。ここで、\(a k = k_1\)とおくと、$$\frac{dx_1}{dt_1}=k_1 x_1$$と元の微分方程式と同じ形となる。これは、この微分方程式が、\(t,\;x\)のスケールを変えても形を変えない、つまりスケール不変性を持っていることを意味する。
\(x \mapsto x+c\)とするような変換を並進変換という。これは、\(x = \log x'\)とすれば、\(x' = e^x\)についてのスケール変換となる。基本的な物理法則は、時間に関する並進不変性(いつでも同じ法則が成立する:時不変)をもつ。例えば、ニュートンの運動方程式は、時間の並進変換に対して不変である。従って、その解は、時間の並進変換による変化が任意定数の変更によって吸収できる形になる。