主要内容

线性化发动机转速模型

这个例子展示了如何线性化一个发动机转速模型为多个输出条件。

发动机转速的模型

打开模型。

mdl =“scdspeed”;open_system (mdl)

对于这个例子,你会发现从火花推进和节流角度输入到发动机输出速度的线性模型。你可以在三种速度条件下这样做:2000、3000和4000 rpm。

发现操作点

创建一个由三个工作点规范组成的数组。

Opspec = operspec(mdl,[3 1]);

由于Simulink万博1manbetx®模型没有任何根级导入,opspec不包含任何输出规范。属性可以在模型中为给定的信号添加输出规范addoutputspec函数。

增加输出规格的rad/s到rpm块的输出。

opspec = addoutputspec (opspec,“scdspeed / rad / / s rpm”1);

对于每个规范,指出输出值是已知的,并指定输出值。设置已知的转速值为2000、3000和4000转/分钟。

opspec (1) .Outputs。= 1;opspec (1) .Outputs。y = 2000;opspec .Outputs(2)。= 1;opspec .Outputs(2)。y = 3000;opspec (3) .Outputs。= 1;opspec (3) .Outputs。y = 4000;

查看第三种工况的规格对象。

opspec (3)
ans = scdspeed模型的工作点规范。(t=0时的时变分量)---------- < 强x > < /强> < >强知道< /强> < >强稳态< /强> < >强Min < /强> <强> Max < /强> < >强dxMin < /强> < >强dxMax < /强> <强> __ < /强> <强> ___ < /强> <强劲 >___________ <强> ___ < /强> <强> ___ < /强> <强> ___ < /强> <强> ___ < / >强(1)。scdspeed/Vehicle Dynamics/w = T//J w0 = 209 rad//s 209.48 false true -Inf Inf Inf Inputs(参数参数说明参数取值)---------- u Known Min Max _ _____ ____ ___ (1.) scdspeed/Throttle扰动0 false -Inf Inf Outputs:---------- < 强> y < /强> < >强知道< /强> < >强Min < /强> <强> Max < /强> <强> ___ < /强> <强> ___ < /强> <强> ___ < /强> <强> ___ < / >强(1)scdspeed / rad / / s 4000 rpm真正负无穷到正无穷

使用。查找满足这些规范的工作点findop函数。

选择= findopOptions (“DisplayReport”“关闭”);op = findop (mdl opspec,选择);

查看第三种操作条件的结果工作点。

op (3)
ans = scdspeed模型的工作点。(时变组件评估在时间t = 0) : ---------- < 强x > < /强> <强> __ < / >强(1)scdspeed /油门&歧管/进气歧管/ p0 = 0.543条0.4731 (2)scdspeed /车辆动力学/ w = T / / J w0 = 209 rad / / s 418.88输入 : ---------- < 强> u < /强> <强> __ < / >强(1)scdspeed /节流扰动5.8292

线性化模型

为了线性化模型,首先指定在油门和Spark Advance块的输出处的线性化输入点。

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(系统)

关闭模式。

bdclose (mdl)

另请参阅

|||

相关的话题