【Matlab】状态空间模型的极点配置法 place() 函数
文章目录
- 含义
- 例子
- Ref
含义
主要用到的语法为
K = place(A,B,p)
其中
A
,
B
A,B
A,B 分别是系统
X
˙
=
A
X
+
B
U
\dot{X} = A X + B U
X˙=AX+BU 的状态矩阵和输入矩阵。
向量
p
p
p 是期望的自共轭闭环极点的位置, place()
函数会计算增益矩阵
K
K
K,使状态反馈
U
=
−
K
X
U = - KX
U=−KX 将闭环极点放置在位置
p
p
p。
X ˙ = A X + B U = A X + B ( − K X ) = ( A − B K ) X \begin{aligned} \dot{X} &= A X + B U \\ &= A X + B (-KX) \\ &= (A - B K) X \end{aligned} X˙=AX+BU=AX+B(−KX)=(A−BK)X
换句话说, A − B K A - BK A−BK 的特征值匹配 p p p 中的元素。
K = place(A,B,p)
通过计算状态反馈增益矩阵
K
K
K,放置所需的闭环极点
p
p
p。系统的所有输入都被假定为控制输入。
例子
考虑一个有两个输入、三个输出和三个状态的状态空间系统(
A
,
B
,
C
,
D
A,B,C,D
A,B,C,D)。你可以通过以下方式计算出将闭环极点置于
p
=
[
−
1
−
1.23
−
5.0
]
p=\left[\begin{matrix}-1 &-1.23 &-5.0\end{matrix}\right]
p=[−1−1.23−5.0] 处所需的反馈增益矩阵
p = [-1 -1.23 -5.0];
K = place(A,B,p)
Ref
- place - MathWorks