命令行平衡截断的近似模型
这个例子展示了如何使用balred
在MATLAB®命令行中计算模型的降阶近似。
balred
移除对整体模型行为贡献最低能量的状态。因此,使用balred
,你可以从研究模型状态的能量贡献开始。您可以根据对整个模型行为有重要贡献的状态的数量来选择近似顺序。
对于本例,加载一个高阶模型。hplant
是一个23阶SISO模型。
负载ltiexampleshplant订单(hplant)
Ans = 23
检查每个状态的相对能量量hplant
使用汉克尔奇异值(HSV)图。
hsvplot (hplant)
小汉克尔奇异值表明相关状态对系统行为的贡献很小。图中显示,两个状态占据了系统的大部分能量。因此,试着将模型简化为一阶或二阶。
opts = balredOptions(“StateElimMethod”,“截断”);Hplant1 = balred(hplant,1,opts);Hplant2 = balred(hplant,2,opts);
第二个参数balred
指定目标的近似顺序,这样hplant1
一阶近似和hplant2
是二阶近似吗hplant
.默认情况下,balred
丢弃Hankel奇异值最小的状态,并改变其余状态以保持系统的直流增益。设置StateElimMethod
选项截断
原因balred
放弃低能态而不改变剩余的状态。
当使用降阶模型时,重要的是要验证近似不会在对应用程序重要的频率上引入不准确性。因此,比较原始系统和近似系统的频率响应。对于MIMO系统,使用sigmaplot
命令。对于这个SISO系统,检查一个波德图。
bodeplot (hplant hplant2 hplant1)传说(“原始”,二阶的,“一阶”)
二阶近似hplant2
和原来的23阶系统匹配得很好,尤其是在低频的时候。一阶系统也不匹配。
一般来说,当你降低近似模型的阶数时,近似模型的频率响应开始与原始模型不同。选择一个在对你重要的波段上足够准确的近似值。例如,在控制系统中,您可能希望控制带宽内具有良好的精度。在远高于控制带宽的频率上的精度,在那里增益迅速滚掉,可能不那么重要。
你也可以在时域中验证近似。例如,研究原始系统和降阶系统的阶跃响应。
stepplot (hplant hplant2,“r——”hplant1,“g——”)传说(“原始”,二阶的,“一阶”,“位置”,“东南”)
这个结果证实了二阶近似与原来的23阶系统是很好的匹配。