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

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

システムの極とは

一般的なシステムの状態方程式は次式で表されます。

(1)   \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の資料が役に立ちます

ソースコード

次のようなシステムの極を求めるサンプロプログラムのソースコードです。

(2)   \begin{eqnarray*} \left[\begin{array}{c} \dot{x}_1 \ \dot{x}_2 \ <h1>\end{array}\right]</h1> \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*}

実行結果

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

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

コメント

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