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

文章目录

含义

对于单位负反馈,设其开环传函为 G G G,则闭环传函为 G c = G / ( 1 + G ) G_c=G/(1+G) Gc=G/(1+G),也可以用 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.

可以看到在 nonmincloop 系统中分子和分母中存在可相消项 (s-1),因此我们再使用 minreal() 函数看下效果

cloopmin = minreal(cloopnonmin)
cloopmin =
 
        s
  -------------
  (s^2 + s + 1)
 
Continuous-time zero/pole/gain model.

可以看到通过 minreal() 函数后模型是实现了零极点相消后的简化模型。

Ref

  1. 【控制】最小系统实现
  2. minreal - MathWorks
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zhao-Jichao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值