厳密な説明
0. なぜ 1 階の連立方程式へ直すのか
微分方程式で未来を決めるには、その時点で必要な情報をちょうど過不足なく持つことが重要です。2 階方程式なら、ふつうは位置と速度が分かれば次が決まります。つまり「2 階だから 2 個の状態変数が要る」という見方が自然です。
状態方程式は高階微分方程式を細かくばらしているのではなく、未来を決める最小限の情報を 1 階の時間発展へ並べ直している、と見ると分かりやすくなります。
1. 2 階微分方程式を状態方程式へ直す
たとえば
m\ddot x + c\dot x + kx = u(t)
を考えます。ここで入力は u(t) です。
状態変数を
x_1=x,\qquad x_2=\dot x
とおくと、
\dot x_1 = x_2
\dot x_2 = -\frac{k}{m}x_1-\frac{c}{m}x_2+\frac{1}{m}u(t)
です。これで 2 階の方程式が 1 階の連立方程式へ変わりました。
ここで重要なのは、問題そのものは変わっていないことです。x_1,x_2 が分かれば x,\dot x が分かり、逆に x,\dot x が分かれば x_1,x_2 も決まります。したがって、見方を変えているだけで、情報は失っていません。
2. 行列で書く
いま
\mathbf{x}=\begin{pmatrix}x_1\\x_2\end{pmatrix}
とすると、
\dot{\mathbf{x}}=\begin{pmatrix}0 & 1 \\ -\frac{k}{m} & -\frac{c}{m}\end{pmatrix}\mathbf{x}+\begin{pmatrix}0\\ \frac{1}{m}\end{pmatrix}u(t)
です。ふつう
\boxed{\dot{\mathbf{x}} = A\mathbf{x}+B u}
と書きます。さらに出力 y を
\boxed{y=C\mathbf{x}+Du}
と書きます。
3. なぜ行列が自然か
行列 A の各成分は、「ある状態変数が、ほかの状態変数の変化へどう効くか」を表しています。つまり系の内部結合がそのまま行列に入ります。
線形の場合、時間発展は「現在の状態ベクトルへ行列を作用させる」と見られます。だから固有値を見ると、減衰するのか、振動するのか、発散するのかが読みやすくなります。ここで線形代数の見方が効いてきます。
4. 伝達関数との関係
初期値を 0 としてラプラス変換すると
sX(s)=AX(s)+BU(s)
なので
X(s)=(sI-A)^{-1}BU(s)
です。したがって
Y(s)=C(sI-A)^{-1}BU(s)+DU(s)
となり、
\boxed{G(s)=C(sI-A)^{-1}B+D}
を得ます。これで状態方程式と伝達関数がつながります。
ここで (sI-A)^{-1} が出るのは、微分がラプラス変換で s 倍になり、内部結合が行列 A で表されるからです。つまり伝達関数は、入力と出力の比であると同時に、内部構造を圧縮して見せる式でもあります。
どこまで成り立つか
ここでの行列表現は線形の系を前提にしています。非線形な系でも状態変数の考え方は使えますが、A,B,C,D の定数行列だけでは書けなくなります。
また、G(s)=C(sI-A)^{-1}B+D は初期値を 0 として導いています。初期状態が 0 でないときは、その効果が別に残ります。