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

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

# coding: utf-8
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
書籍更新情報
2016-10-21
Pythonによる科学技術計算 基礎編
PDF版の販売を開始しました。
販売ページはこちら

2016-09-09
Pythonによる科学技術計算 基礎編
1.2版への更新が可能になりました。
サポートページはこちら
電子書籍
Pythonによる科学技術計算 基礎編
Kindle ストア、Leanpubで販売中です
Pythonによる科学技術計算 基礎編
PDF版の販売はこちら
同人誌
技術書典(2016/6/25)
Emacs/org-modeのPDF作成術
電子版をBOOTHで販売中です
Emacs/org-modeのPDF作成術
Share