此示例显示如何为多个输出条件进行线性化发动机速度模型。
打开模型。
mdl ='scdspeed';open_system (mdl)
对于此示例,您可以从Spark提前和节气门角输入找到线性模型,以输出引擎速度。您可以进行三种速度条件:2000,3000和4000 rpm。
创建一个三个操作点规范数组。
OPSPEC = OPERSPEC(MDL,[3 1]);
由于Simulink金宝app®模型没有任何root级Inports,因此opspec.
不包含任何输出规范。您可以使用模型中给定信号的输出规范使用addoutputspec.
功能。
将输出规范添加到RAD / s的输出到RPM块。
opspec = addoutputspec (opspec,“scdspeed / rad / / s rpm”1);
对于每个规范,指出输出值是已知的,并指定输出值。设置已知的转速值为2000、3000和4000转/分钟。
opspec(1).outputs.known = 1;opspec(1).outputs.y = 2000;opspec(2).outputs.known = 1;opspec(2).outputs.y = 3000;opspec(3).outputs.known = 1;opspec(3).outputs.y = 4000;
查看第三个操作条件的规范对象。
opspec (3)
ANS =模型SCDSPEED的操作点规范。(在时间t = 0评估的时变组件)状态:---------- x strong> 已知 strong> steedstaltate strong> <强>分钟 strong> max strong> dxmin strong> dxmax strong> ______ strong> _____ strong> ___________ strong> ____ strong> ___ strong> _____ strong> _____ strong>(1.)SCDSPEED /油门和歧管/进气歧管/ P0= 0.543栏0.543 FALSE -INF INF -INF INF(2.)SCDSPEED /车辆动态/ W = T // J W0 = 209 RAD // S 209.48 FALSE TRUE -INF INF -INF INF输入:---------- U strong> 已知 strong> min strong> max strong> _ strong> _____ strong> ____ strong> ___ strong>(1.)SCDSPEED /油门扰动0 FALSE -INF INF输出:--------- Y 强大> <强>已知 strong> min strong> max strong> ____ strong> _____ strong> ____ strong>___ strong>(1.)SCDSPEED / RAD / S至RPM 4000 TRUE -IF INF
使用。查找满足这些规范的工作点findop
功能。
选择= findopoptions('displayReport'那“关闭”);op = condop(MDL,OPSPEC,OPT);
查看第三个操作条件的结果操作点。
OP(3)
ANS =模型SCDSPEED的操作点。(在时间t = 0评估的时变组分)状态:---------- x strong> ______ strong>(1.)SCDSPEED /油门和歧管/进气歧管/ P0 = 0.543栏0.4731(2.)SCDSPEED /车辆动态/ W = T // J W0 = 209 RAD // S 418.88输入:---------- U 强> ______ strong>(1.)SCDSPEED /油门扰动5.8292
为了线性化模型,首先在节气门输出和火花提前块处指定线性化输入点。
IO(1)= Linio(“scdspeed /油门(度)”,1,'输入');IO(2)= Linio(scdspeed /点火提前的,1,'输入');
接下来,指定RAD / S输出到RPM块的线性化输出点。
IO(3)= Linio(“scdspeed / rad / / s rpm”,1,'输出');
为每个操作条件线性化模型。
sys =线性化(mdl op, io);
绘制所产生的线性模型的凸型幅度响应。
Bodemag(SYS)
关闭模型。
bdclose (mdl)