Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

停止时间

仿真停止时间

模型配置窗格: 求解器

描述

将仿真或已生成代码的结束时间指定为双精度值,以秒为单位。

设置

标量

默认值:10

  • 停止时间必须大于或等于开始时间。

  • 指定 inf 运行仿真或生成的程序,直到显式暂停或停止它为止。

  • 如果停止时间与开始时间相同,则仿真或生成的程序将运行一个时间步。

  • 仿真时间与时钟时间不同。例如,运行 10 秒的仿真通常不需要 10 秒的时钟时间。总仿真时间取决于模型复杂度、求解器步长和系统速度等多个因素。

  • 如果您的模型包含依赖于绝对时间的模块,并且您的设计会无限期运行,请参阅依赖于绝对时间的模块

示例

全部展开

打开模型 vdp

mdl = "vdp";
open_system(mdl)

保存的模型的开始时间为 0 秒,停止时间为 20 秒。

get_param(mdl,"StartTime")
ans = 
'0.0'
get_param(mdl,"StopTime")
ans = 
'20'

对模型进行仿真。要查看仿真结果,请双击 Scope 模块。示波器窗口显示从开始时间到停止时间的结果。

out1 = sim(mdl);

The Scope displays the signals x1 and x2 for the 20-second simulation.

将开始时间更改为 10 秒,将停止时间更改为 40 秒。

  1. 建模选项卡上的设置下,点击模型设置

  2. 选择求解器窗格。

  3. 开始时间框中,输入 10

  4. 停止时间框中,输入 40

  5. 点击确定

或者,使用 set_param 函数以编程方式配置开始和停止时间。

set_param(mdl,"StartTime","10","StopTime","40")

再次对模型进行仿真。示波器窗口会更新以反映更长的仿真时间。时间轴的范围是从 0 到 30,在示波器窗口的右下角指示存在 10 秒的偏移量。

out2 = sim(mdl);

The Scope window displays the signals x1 and x2 for the 30-second simulation.

要更改仿真的开始和停止时间,而不修改保存在模型中的配置参数值,请使用 Simulink.SimulationInput 对象。

打开模型 vdp

mdl = "vdp";
open_system(mdl)

保存时,模型的开始时间为 0 秒,停止时间为 20 秒。

get_param(mdl,"StartTime")
ans = 
'0.0'
get_param(mdl,"StopTime")
ans = 
'20'

创建一个 Simulink.SimulationInput 对象来配置模型的仿真。

simIn = Simulink.SimulationInput(mdl);

使用 setModelParameter 函数为仿真指定开始时间为 10 秒,停止时间为 40 秒。

simIn = setModelParameter(simIn,"StartTime","10",...
    "StopTime","40");

使用 SimulationInput 对象仿真模型。

out = sim(simIn);

仿真使用在 SimulationInput 对象上定义的开始时间和停止时间值。

tFirst = out.yout{1}.Values.Time(1)
tFirst = 10
tLast = out.yout{1}.Values.Time(end)
tLast = 40

模型中的配置参数值保持不变。

get_param(mdl,"StartTime")
ans = 
'0.0'
get_param(mdl,"StopTime")
ans = 
'20'

推荐的设置

此表根据与代码生成相关的注意事项总结此参数的建议值。

应用场景设置
调试无影响
可追溯性无影响
效率无影响
安全预警正值

编程用法

参数:StopTime
类型:字符串 | 字符向量
值:双精度
默认值:'10.0'

版本历史记录

在 R2006a 之前推出