Simulink命令行仿真技术(7)
时间:2025-07-11
时间:2025-07-11
Simulink命令行仿真技术
sim命令中,只有参数‘model’是必须的,其它的仿真参数均被允许设置为空矩阵,此时sim命令对不设置的仿真参数使用系统框图决定的默认参数进行仿真计算。sim命令中设置的参数具有较大的优先级,设置过的参数将取代模型默认的参数。用户需使用sim命令中的options参数设置所需的参数,下面是各个参数的详细说明。
t 返回仿真时间向量;
x 返回仿真的状态矩阵,排列次序是先连续状态,后离散状态;
y 返回仿真的输出矩阵,其中每一列对应着一个根层次的输出端口(即顶层系统)。排列顺序对应端口数字。如果输出端口的结果是向量信号,则它相应的占有合适的列数。
y1,y2,…,yn 返回模型中n个根层次输出端口的输出。
model 需进行仿真的系统仿真模型框图名称;
timespan 系统仿真时间范围(起始时间至终止时间),可以取如下形式:
tFinal 设置仿真终止时间。仿真起始时间默认为0;
[tStart tFinal] 设置仿真的起始时间(tStart)和终止时间(tFinal);
[tStart OutputTimes tFinal] 设置仿真的起始时间(tStart)和终止时间(tFinal),并且设置仿真返回的时间向量[tStart OutputTimes tFinal],其中tStart、OutputTimes和tFinal必须递增排列。
options 由simset命令设置的除了仿真时间外的仿真参数,是一个结构体变量。
ut 表示系统顶层模型的外部可选输入。ut可以MATLAB函数。可以使用多个外部输入ut1、ut2…。其格式必须符合输入信号的要求。具体要求同由MATLAB工作空间传递信号至系统模型的格式。
3、sim命令的应用
(1)简单仿真命令的应用
下面我们仍然以例11.1为了说明sim命令的应用。
例11.1的系统仿真模型要求输入信号是MATLAB工作空间的变量,系统的仿真结果也要求输出到MATLAB工作空间中。前面在进行系统仿真时,我们首先将输入信号从MATLAB命令窗口输入到其工作空间,然后打开系统的Simulink仿真模型,使用模型框图中的start simulation命令启动的仿真程序,最后再在MATLAB命令窗口中键入绘图命令绘制输入输出信号的。实际上用户也可以采用命令行仿真技术进行仿真。这样,用户无需打开系统的Simulink仿真模型,将输入信号设置、启动仿真程序以及最后绘制输入输出信号三步工作一起完成。用户只需在设置好仿真模型后,将下列命令键入MATLAB命令窗口并运行即可完成上述三个部分的工作。
>> t=0:0.1:10;
>> x=sin(t);
>> [tout,xout,yout]=sim('Examp11_1'); %使用sim命令运行系统仿真,采用的仿真参数同例11.1 >> plot(t,x,tout,yout,'-.');
(2)仿真时间设置
在系统仿真过程中,仿真时间设置是非常关键的。对于不同的动态系统,用户关心的系统响应的时间段是不同的。在前面介绍sim命令时已经说明了仿真时间timespan三种使用形式。根据不同动态系统仿真的不同要求,用户可以选择使用不同的形式进行仿真:
[t,x,y]=sim(model, tFinal)
[t,x,y]=sim(model, [tStart tFinal])
[t,x,y]=sim(model, [tStart OutputTimes tFinal])
需要注意的是仿真结束时间tFinal必须大于仿真开始的时间tStart。此外,在默认情况下,由于仿真时刻受到Simulink求解器仿真步长的控制,因而系统仿真的输出结果(输出时间、状态及系统输出量)也会受到Simulink求解器仿真步长的控制。如果需要在指定的时刻输出系统的仿真结果,则需要使用仿真时间设置的第三种方式,其中[tStart OutputTimes tFinal]表示输出时间向量,是一个递增的行向量。 153
下一篇:审计风险的成因及防范措施