步进仿真
此示例显示在查看模块图中的信号值时,如何步进仿真的主时间步。在此示例中,您可以通过点击步进开始仿真,这样仿真会在第一个主时间步后暂停。您也可以点击暂停等实现暂停后,或等仿真在断点处暂停后开始步进仿真。当仿真在断点处暂停时,您可以使用其他步进选项以逐模块步进时间步。有关详细信息,请参阅Debug Simulation Using Signal Breakpoints。
打开并配置模型
打开实现 van der Pol 方程的模型 vdp
。有关该模型的详细信息,请参阅范德波尔振荡器。
openExample("simulink_general/VanDerPolOscillatorExample",... supportingFile="vdp")
在分析和调试模型时,您可能会运行多次仿真。要通过仅在第一次仿真之前编译模型来节省时间,请启用快速重启。在 Simulink® 工具条的仿真选项卡上,点击快速重启。
添加端口值标签,以便在步进仿真期间能够查看信号值。点击画布左上角的空白区域,并拖动以选择模块图中的所有内容。然后,在调试选项卡的工具部分中,在端口值按钮组中,点击在所选信号上显示端口值标签 。添加端口值标签后,在仿真中的第一个步进之前,端口值标签将显示 no data yet
。
一次向前步进一步
如果您要从头开始一次运行一步仿真,可以点击步进开始仿真。在 Simulink 工具条的仿真选项卡上,点击步进开始对模型 vdp
进行仿真。仿真开始,并在计算第一个仿真时间的输出值后、步进至下一个仿真时间之前暂停。
要监控仿真状态和仿真时间,请使用 Simulink 编辑器底部的状态栏。在状态栏的中间,软件显示最后一个主时间步的时间和指示仿真状态的进度条。当您点击步进时,有些求解器会执行计算来确定仿真循环中仿真暂停点之后的下一个主时间步的时间。在这种情况下,求解器相对于模块图在仿真时间上会提前。软件会在仿真时间中添加星号,表示求解器在仿真时间中向前移动。
每次点击步进,仿真都会前进一个主时间步。状态栏中的时间会更新,端口值标签也会更新以显示新信号值。
一次步进多个时间步
要在每次点击步进时将仿真前进多个时间步,请配置仿真步选项。要打开仿真步选项对话框,请点击步退按钮箭头,然后选择配置仿真步。在仿真步选项对话框中,将步进/步退数指定为 5
。然后点击确定。
现在,当您再次点击步进时,仿真将前进五个主时间步。时间以更大的增量变化,您可以在状态栏中看到整体仿真进度。
双击 Scope 模块。随着仿真的进行,图会更新以显示信号 x1
和 x2
的数据。点击步进查看 Scope 模块更新,以显示另外五个时间步的数据。
在仿真中步退
您必须启用步退,才能在在仿真中步退。为了支持在仿真中步退,软件在仿真中前进时捕获模型工作点的快照。捕获这些快照需要内存,并且会影响仿真性能。有关详细信息,请参阅How Stepping Through Simulations Works。
打开仿真步选项对话框。点击步退按钮箭头,然后选择配置仿真步。在仿真步选项对话框中,选择启用步退,然后点击确定。
由于在仿真开始时没有启用步退,因此软件没有仿真中先前时间的快照。您必须先执行步进,才能执行步退。您无法步退到在启用步退的时间之前的仿真时间。
点击步进两次。然后,点击步退。在状态栏中,仿真时间会更新以反映步退。端口值标签也会更新,以显示从您步退的时间开始的值。
当您第二次点击步退时,软件会禁用步退按钮,因为您无法在此仿真中进一步步退。
完成或停止仿真
当您完成步进仿真时,可以继续仿真直到结束,或在当前时间步停止仿真。
要运行仿真直至仿真停止时间,请在仿真选项卡中,点击继续。
要在当前时间步停止仿真,请在仿真选项卡中,点击停止。