Simulink命令行仿真技术(8)
时间:2025-07-11
时间:2025-07-11
Simulink命令行仿真技术
sim命令中设置的仿真时间会覆盖Simulink仿真参数设置对话框中设置的仿真时间。
这里仍然以例11.1为例说明不同的仿真时间方式的设置及其结果。为了使用户对使用命令行方式设置系统仿真时间范围有一个直观的了解,我们将使用几种不同的设置对例11.1进行仿真,并绘制这几种设置所得的结果以便于读者进一步理解。
MATALAB命令窗口键入下列命令并运行,用户可以点击工作空间中的变量tout1、tout2、tout3、 tout4及其它变量来查看sim命令的返回结果。
>> t=0:0.1:10;
>> x=sin(t);
>> [tout1,xout1,yout1]=sim('Examp11_1',5);
%仿真时间范围设置为0至5秒。输出时间向量tout1由Simulink求解器步长决定.用户可以点击工作空间中的tout1变量查看结果
>> [tout2,xout2,yout2]=sim('Examp11_1',[1 6]);
%仿真时间范围设置为1至6秒。输出时间向量tout1由Simulink求解器步长决定.
>> [tout3,xout3,yout3]=sim('Examp11_1',[1 2 4 6]);
%仿真时间范围设置为1至6秒,且只在tout3=[1 2 4 6]秒时有返回输出
>> [tout4,xout4,yout4]=sim('Examp11_1',[1:0.2:6]);
%仿真时间范围设置为1至6秒,且每隔0.2秒输出一次。输出时间向量tout4=[1 1.2 1.4 ...5.6 5.8 6]. >> subplot(221),plot(t,x,tout1,yout1,'.') %同幅图中绘制系统仿真结果
>> legend('t-x','timespan=5') %标注图形
>> subplot(222), plot(t,x,tout2,yout2,'.')
>> legend('t-x','timespan=[1 6]') %标注图形
>> subplot(223), plot(t,x,tout3,yout3,'.')
>> legend('t-x','timespan=[1:6]') %标注图形
>> subplot(224), plot(t,x,tout4,yout4,'.')
>> legend('t-x','timespan=[1:0.2:6]') %标注图形
系统在不同仿真时间范围设置情况下的仿真计算结果见图11.8所示。从MATLAB工作空间的变量列表中也可以查看不同仿真时间设置下,系统仿真各个返回值。例如,由于命令
[tout1,xout1,yout1]=sim('Examp11_1',5) 没有规定返回时间向量的值,因而MATLAB工作空间的变量列表中tout1的间隔由仿真步长决定;而命令 [tout3,xout3,yout3]=sim('Examp11_1',[1 2 4 6])规定了返回的时间向量仅为[1 2 4 6],因而返回的时间向量tout3和输出向量yout3均是4×1的向量。
(3)外部输入变量设置
通过适当的设置命令行命令 [t,x,y]=sim(model,timespan,options,ut) 中的ut,用户也可以使用该命令从MATLAB工作空间中获得系统的输入信号。
ut的设置同前面介绍的设置Simulink参数设置对话框的Data Import/Export选项卡的情况相同。ut必须是具有两列的矩阵,其中第一列表示外部输入信号的时刻,第二列表示与给定时刻对应的输入信号的取值。使用矩阵ut可以为系统模型最顶层的In1模块提供外部输入信号,并将自动覆盖Simulink仿真参数设置对话框中Data Import/Export选项卡的设置。
这里仍以例11.1为例说明使用sim命令,设置sim命令参数使得模型可以从MATLAB工作空间获得输入信号的方法。在MATLAB命令窗口中键入并运行下列命令:
154
下一篇:审计风险的成因及防范措施