使用整数估计减少模型秩序
减少一个仿真软件的顺序金宝app®模型的线性化模型和估计的低阶模型保留了动力学模型。
这个示例需要仿真软件和金宝app金宝app仿真软件控制设计™工具箱。
考虑到仿真软件模型金宝appidF14Model
。这个模型线性化给ninth-order模型。然而,模型的动力学可以捕获,在不影响健康的质量太多,使用低阶模型。
得到线性化模型。
load_system (“idF14Model”);io = getlinio (“idF14Model”);sys_lin =线性化(“idF14Model”io);
sys_lin
是一个ninth-order和两个输出状态空间模型和一个输入。
模拟线性化模型的阶跃响应,并使用数据来创建一个iddata
对象。
t = 0.0444;t = (0: Ts: 4.44);y =步骤(sys_lin t);data = iddata([0(20日2);y], [0 (20, 1);(101,1)],Ts);
数据
是一个iddata
对象,该对象封装了阶跃响应sys_lin
。
比较数据模型线性化。
比较(数据、sys_lin);
因为数据是通过模拟获得的线性化模型,有一个完整的数据和模型线性化响应之间的匹配。
确定一个充分的降阶状态空间模型与数据的吻合程度。
确定一个最优模型。
nx = 1:9;sys1 = ss(数据、nx“DisturbanceModel”,“没有”);
一块显示汉克尔奇异值)指定的订单的模型nx
出现了。
州汉克尔相对较小奇异值可以安全地丢弃。情节建议使用一个基于模型。
在MATLAB®命令提示符,选择订单状态空间模型的估计模型。指定模型秩序5
,或者按输入使用默认的秩序价值。
比较数据来估计模型。
比较(数据、sys1);
情节显示百分比为两个sys1
输出。四个州减少模型减少订单结果在一个相对较小的比例。
检查搜索算法的停止条件。
sys1.Report.Termination.WhyStop
ans =“最大迭代次数达到了。”
创建一个估计选项。指定“lm”
搜索方法。搜索迭代的最大数量增加到50的默认最大20。
选择= ssestOptions (“SearchMethod”,“lm”);opt.SearchOptions。MaxIterations = 50;opt.Display =“上”;
确定一个使用估计选项设置和状态空间模型sys1
估计初始化模型。
sys2 = ss(数据、sys1选择);
比较线性化的反应和估计模型。
比较(数据、sys_lin sys2);
更新选项设置导致更好的配合比例sys2
。