線形時不変なシステムの可制御行列と可観測行列を調べる

線形時不変なシステム(A,B,C,D)の可制御性と可観測性を調べる。以前証明した結果から

可制御性行列

\begin{align}
M_c=
\begin{bmatrix}
B & AB & \cdots & A^{n-1}B
\end{bmatrix}
\end{align}

可観測行列

\begin{align}
M_o=
\begin{bmatrix}
C \\ C A \\ C A^2 \\ \vdots \\ C A^{n-1}
\end{bmatrix}
\end{align}

のランクがフルランクであればいい。

MATLABでは可制御行列と可観測行列を返す関数があらかじめ用意されているので、今回は用意された関数と上述の定義の2通りの方法で計算をした。

A=[1 2 3 4; 5 6 7 8;9 10 11 12;13 14 15 16];
B=[1;0;1;1];
C=[0 0 1 0];
 
Cc1=ctrb(A,B)
Co1=obsv(A,C)

Cc2=[B,A*B,A*A*B,A*A*A*B]
Co2=[C; C*A; C*A*A; C*A*A*A]

rank(Cc1)
rank(Co1)

コメント

タイトルとURLをコピーしました