Python で任意極配置のフィードバックゲインを求める

Python で希望する極に配置するフィードバックゲインを求める方法のメモ。 可制御なシステムでなら状態フィードバック制御則によって任意の極配置が可能です。 Python-Control には任意極配置のフィードバックゲインを求める place 関数が用意されています。

import numpy as np
from scipy import linalg
from control import matlab

A = np.array([[1, 0],
              [0, 2]])
b = np.array([[1],
              [1]])
poles = [-2, -3]

k = matlab.place(A, b, poles)

e = linalg.eigvals(A-b*k)

print("k =", k)
print("e =", e)
k = [[-12.  20.]]
e = [-2.+0.j -3.+0.j]

コメント

Comments powered by Disqus
書籍更新情報
2017-02-18
Pythonによる科学技術計算 基礎編
1.4版への更新が可能になりました。
サポートページはこちら
電子書籍
Pythonによる科学技術計算 基礎編
電子書籍
線形代数(1): Pythonによる科学技術計算 実践編