使用设计研究收集多个仿真的覆盖率
此示例展示了如何在运行多个仿真时收集覆盖率。要了解有关运行多个仿真的更多信息,请参阅运行多个仿真。
slvnvdemo_powerwindow_parsim
模型包含一个电动车窗控制器和一个低阶对象模型。Stateflow® 图实现控制器。
加载设计研究
设计研究允许您运行一系列仿真,其中每个仿真一次改变一个参数。您可以收集仿真的覆盖率来测试不同的模型输入集,而无需手动运行每个仿真。有关创建设计研究的更多信息,请参阅Configure and Run Simulations with Multiple Simulations Panel。
要打开多个仿真窗格,请在仿真选项卡上的准备下点击多个仿真。
要加载设计研究文件,点击多个仿真窗格顶部的加载包含设计研究的文件图标。在选择要打开的文件窗口中,选择 slvnvdemo_powerwindow_multisim.mldatx
。
该文件包含两项设计研究:
驾驶员场景设计研究包含两个仿真。在这两个仿真中,Signal Editor 模块 Input
参数 Active 场景都设置为 Driver
。在第一次仿真中,活动信号参数设置为 Driver Up
,在第二次仿真中该参数设置为 Driver Down
。这些设置仿真驾驶员侧电动车窗接收输入来升高和降低车窗。
乘客场景设计研究包含两个仿真。在这两个仿真中,Signal Editor 模块 Input
参数 Active 场景都设置为 Passenger
。在第一次仿真中,活动信号参数设置为 Passenger Up
,在第二次仿真中该参数设置为 Passenger Down
。这些设置仿真乘客侧电动车窗接收输入来升高和降低车窗。
启用覆盖率分析
接下来,为模型启用覆盖率。在建模选项卡上,点击模型设置。在左侧窗格中,点击覆盖率,然后选择启用覆盖率分析。点击确定。
运行仿真并查看覆盖率结果
在多重仿真窗格中,选择驾驶场景。在 App 标签上,选择覆盖率分析器。在覆盖率选项卡中,点击分析覆盖率 > 运行全部(覆盖率)
Starting parallel pool (parpool) using the 'Processes' profile ... Connected to parallel pool with 4 workers.
仿真完成后,覆盖率详细信息窗格将打开,并显示驱动场景中两次仿真的聚合覆盖率结果。
所有仿真的覆盖率结果都填充到覆盖率结果浏览器中。要打开覆盖率结果浏览器,请在覆盖率选项卡上点击结果浏览器。
在覆盖率结果资源管理器的左侧窗格中,您可以看到驾驶场景设计研究的两次仿真和当前累积结果。在左侧窗格中,点击当前累积数据。在覆盖率数据窗格中,描述列出了设计研究名称以及设计研究中指定的模块和参数名称的列表。Tag 字段列出了每次运行指定的场景。
在 Simulink® 窗口的多重仿真窗格中,选择乘客场景。此操作会自动清除驾驶员场景设计研究,因为您一次只能选择一个设计研究。在覆盖率选项卡上,点击分析覆盖率 > 运行全部(覆盖率)。
覆盖率详细信息窗格将使用乘客场景设计研究中另外两个仿真的聚合数据进行更新。滚动到聚合测试部分可查看四个仿真:两个来自驾驶员场景设计研究,两个来自乘客场景设计研究。
在覆盖率结果资源管理器中,点击当前累积数据以查看额外的仿真是否改善了覆盖率结果。
此外,您可以点击每次运行以查看聚合覆盖率数据是否比任何一次单独的运行显示更完整的覆盖率。不同的覆盖率结果表明不同的仿真满足不同的覆盖率结果。
要为这些结果生成独立报告,请在 Simulink® 窗口的覆盖率选项卡上点击生成报告。或者,在覆盖率结果资源管理器的左侧窗格中,点击当前累积数据,然后点击生成报告。