【python-control】状態方程式からシステムの極を求める

スポンサーリンク

当記事では、状態方程式からシステムの極を求める方法について紹介します。

スポンサーリンク

システムの極とは

一般的なシステムの状態方程式は次式で表されます。
\begin{eqnarray}
\dot{x}(t)&=&Ax(t)+Bu(t)\
\end{eqnarray}

このとき、システム行列Aの固有値をシステムの極と言います。

システム行列Aの固有値が全て負のとき、システムは安定となります。(逆の場合は不安定)

【詳細】
【制御理論】システムの極(状態方程式)

python-controlの「control.pole」メソッドを用いると、Matlabのpole関数のようにシステムの極を算出できます。

【参考文献】
・python-controlドキュメント:poleメソッドの使い方
・Matlabドキュメント:pole関数の使い方
※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 \\
-2 & -3 \\
\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}

実行結果

極の値(2つ)は以下の通りです。

[-1.+1.41421356j -1.-1.41421356j]

2つとも負の領域にあるので、このシステムは安定であることがわかります。

スポンサーリンク

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