利用matlab实现h 控制,利用matlab实现H-infinity鲁棒控制

利用matlab实现H-infinity鲁棒控制

提供的balreal实现。 5 控制器设计

4-26-png_6_0_0_166_162_98_27_892.979_1262.879-95-0-0-95.jpg

设计问题是寻找一控制器K,使之稳定系统G,并使下列的H∞

范数最小:

4-58-png_6_0_0_134_227_359_65_892.979_1262.879-319-0-31-319.jpg

有很多种得到H∞控制器的方法,例如hinfsyn,hinfric,hinflmi,这些函数将P作为输入,并以系统矩阵(mu-tools)方式表达。RCT v3.0.1提供了mixsyn函数,将

作为输入(

为补灵敏度函数权重),并不需要事

先得到广义系统模型P。这些方法的主要区别在于是否用到Riccati方程和γ迭

代或者线性矩阵不等式来求解最优化问题。LMI方法不需要求解Riccati时设定的假设条件。

另外还有些指令:ncfsyn和loopsyn(对开环传递函数L=GK进行H∞回路成形设计),hinfmix和msfsyn(多目标)。具体请查阅手册。 6 结果分析

当控制器设计好后,需要对结果进行分析,这时可以利用Control System Toolbox提供的函数,例如利用lsim,step(阶跃响应),bode(伯德图),sigma(奇异值),freqresp(频域响应)等函数对传递函数S,KS,T,K,GK进行分析。Mu-tools提供的函数有:trsp(时域响应),frsp(频域响应),vsvd(奇异值),vplot。 7 结论

从前面可见,有很多种进行H∞控制器设计的方法。为了避免混淆,我建议尽可能使用mu-tools和RCT。如果你知道Control System Toolbox存在某个函数,那么mu-tools也很可能存在具有相同功能的函数,只不过名称稍有些不同。如果你清楚自己的目的,但不知道函数的名字,那么建议你浏览帮助手册中的函数索引。

希望此处简短的介绍能够帮助你进行H∞控制器的设计。好运! 附录

%下面的代码展示了如何在Matlab中进行H-infinity控制器的设计。此处举的例子与混合

%S/KS问题有些不同。此处用到的模型和权重函数见Skogestad和Postlethwaite,1996,

%ed.1,p.60.权重函数并不是“最优”的。 %

%大部分函数来自mu-tools,一些来自lmi-tools。mu-tools和lmi-tools均包含在RCT

%v3.0.1中。

%-Jorgen Johnsen 14.12.06

%------------------------------------------------------------------------- %建立子系统

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值