天天看点

【Matlab】状态空间模型的最小化实现 minreal() 函数

文章目录

  • ​​含义​​
  • ​​例子​​
  • ​​Ref​​

含义

对于单位负反馈,设其开环传函为 ,则闭环传函为 ,也可以用 ​​

​feedback()​

​​ 函数计算,即 ​

​G=feedback(G,1)​

​​,这两种算法是等效的,但得到的结果可能不相同,因为得到的系统阶次可能高于实际系统阶次,也即分子分母可以约分,所以还需要通过 ​

​minreal()​

​ 函数进一步计算一下最小实现,此时得到的两种结果是相同的。

​minreal()​

​​ 函数内部参数是系统的状态空间模型。

​​

​minreal(state space model)​

​ 消除了状态空间模型中不可控或不可观察的状态,或者说消除了传递函数或零极增益模型中的极点-零对。输出系统具有最小阶数和与原始模型系统相同的响应特性,因此又称为系统的最小实现。

例子

例如使用 matlab 构建如下系统模型

g = zpk([],1,1);
h = tf([2 1],[1 0]);
cloopnonmin = inv(1+g*h) * g      
cloopnonmin =
 
        s (s-1)
  -------------------
  (s-1) (s^2 + s + 1)
 
Continuous-time zero/pole/gain model.      
cloopmin = minreal(cloopnonmin)      
cloopmin =
 
        s
  -------------
  (s^2 + s + 1)
 
Continuous-time zero/pole/gain model.      

Ref

  1. ​​【控制】最小系统实现​​
  2. ​​minreal - MathWorks​​

继续阅读