在仿真快照处对气动系统进行线性化
此示例说明如何在基于时间的工作点快照处对 Simulink® 模型进行线性化。此示例采用的模型用于描述压缩空气填充气缸的动态特性。
气动系统模型
打开 Simulink 模型。
mdl = "scdpneumaticlin";
open_system(mdl)

仿真模型。
[t,x,y] = sim(mdl);
在此示例中,供气压力处于闭合状态,系统初始压力为 0.2 MPa。供气压力为 0.7 MPa。在仿真中,伺服阀开度为 0.5e-4 米。仿真期间,压力从初始压力 0.2 MPa 开始增加,并最终稳定在供气压力值。
plot(t,y)

创建仿真快照
计算从 0 到 60 秒、以 10 秒为间隔的多个仿真时间的工作点。findop 函数对模型进行仿真,在每个仿真时间创建模型条件的快照,并为每个快照计算工作点。
op = findop(mdl,[0 10 20 30 40 50 60]);
查看第二个快照时间的工作点。
op(2)
ans =
Operating point for the Model scdpneumaticlin.
(Time-Varying Components Evaluated at time t=10.7245)
States:
----------
x
___________
(1.) scdpneumaticlin/Cylinder Pressure Model/dPc//dt
312046.3941
(2.) scdpneumaticlin/Pipe Model/dPp//dt
312509.866
Inputs: None
----------
模型线性化
要对模型进行线性化,请首先指定线性化输入和输出点。对于此示例,从伺服阀开度 x 到输出压力对模型进行线性化。
io(1) = linio("scdpneumaticlin/x",1,"input"); io(2) = linio("scdpneumaticlin/Cylinder Pressure Model",1,"output");
针对所有计算得到的快照对模型进行线性化。sys 是一个状态空间模型数组。
sys = linearize(mdl,op,io);
为了观察这些线性化结果的变化情况,绘制生成的线性系统的频率响应。
bodeplot(sys)

另请参阅
operspec | findop | linio | linearize