【python-control】可観測性の判別

スポンサーリンク

Pythonの制御工学モジュール「python-control」を用いて、システムの可観測性を判別する方法を紹介します。

スポンサーリンク

可観測性の判定

python-controlの「control.ctrb」メソッドを用いると、Matlabのctrb関数のように可観測性行列を計算できます。
今回はこれを用いて、システムの可観測性を判別してみます。

【参考文献】
・python-controlドキュメント:obsvメソッドの使い方
・Matlabドキュメント:obsv関数の使い方
※python-controlはMatlab風ライブラリなので、Matlabの資料が役に立ちます

ソースコード

次のシステムの可観測性を判別するサンプロプログラムです。
\begin{eqnarray}
\left[\begin{array}{c}
\dot{x}_1 \\
\dot{x}_2 \\
\end{array}\right]
=
\left[\begin{array}{cc}
0 & 1 \\
-1 & -1 \\
\end{array}\right]
\left[\begin{array}{c}
x_1 \\
x_2 \\
\end{array}\right]
+
\left[\begin{array}{c}
0 \\
1 \\
\end{array}\right]
u \\
\end{eqnarray}

\begin{eqnarray}
y=\left[\begin{array}{cc}
1 & 0 \\
\end{array}\right]
\left[\begin{array}{c}
x_1 \\
x_2 \\
\end{array}\right]
\end{eqnarray}

実行結果

システムは可観測である
スポンサーリンク

シェア&フォローお願いします!