配置仿真数据检查器
仿真数据检查器支持各种用于分析和可视化数据的用例。您可以在仿真数据检查器中修改预设项以满足您的可视化和分析需求。您指定的预设项在 MATLAB® 会话之间保持不变。
通过在仿真数据检查器中指定预设项,您可以配置如下选项:
信号和元数据的显示方式。
哪些数据从并行仿真中自动导入。
在何处保留先前的运行数据以及存储多少先前的数据。
保存操作期间使用多少内存。
用于显示信号的单位制。
要打开“仿真数据检查器”预设项,请点击“预设项”。
注意
您可以通过点击“预设项”菜单中的还原默认值或使用 Simulink.sdi.clearPreferences 函数将仿真数据检查器中的所有预设项还原为默认值。
记录的数据大小和位置
默认情况下,仿真数据会记录到磁盘,并根据需要将数据加载到内存中,所记录数据的最大大小仅受限于可用磁盘空间。您可以使用仿真数据检查器中的磁盘管理设置来直接控制所记录数据的大小和位置。
记录模式设置指定在仿真后是否保留记录的数据。当您将记录模式设置更改为仅在仿真期间查看时,在仿真完成后,仿真数据检查器或工作区中将没有记录的数据可用。仅当您不想保存记录的数据时,才使用此模式。每次启动 MATLAB 时,记录模式设置会恢复为查看和记录数据。更改记录模式设置会影响其他应用程序,如可视化工具。有关详细信息,请参阅仅在仿真期间查看数据。
要直接限制记录数据的大小,您可以为记录的数据指定最小可用磁盘空间或最大大小。默认情况下,必须为记录的数据保留至少 100 MB 的可用磁盘空间,没有最大大小限制。以 GB 为单位指定所需的磁盘空间和最大大小,并指定 0 以应用无磁盘空间要求或无最大大小限制。
当您为记录的数据指定最小磁盘空间要求或最大大小时,还可以指定在接近限值时是优先保留当前仿真的数据还是以前仿真的数据。默认情况下,仿真数据检查器通过删除以前运行的数据来优先保留当前运行的数据。要优先保留以前的数据,请将当磁盘空间不足时设置更改为保留以前的运行数据并停止记录。当删除以前的运行并禁用记录时,您会看到一条警告消息。如果由于所记录数据的大小而导致记录禁用,您需要在释放磁盘空间后,将记录模式改回查看和记录数据以继续记录数据。有关详细信息,请参阅为记录的数据指定最小磁盘空间要求或最大大小。
存储模式设置指定是将数据记录到磁盘还是内存。默认情况下,数据记录到磁盘。当您将并行工作单元配置为将数据记录到内存时,不支持将数据传输回主机。使用 Simulink® Compiler™ 部署的快速加速仿真或模型不支持将数据记录到内存。
您还可以指定存储所记录数据的临时文件的位置。默认情况下,数据会记录到计算机上的临时文件目录中。当您需要记录大量数据并且辅助驱动器可提供更多存储容量时,您可以更改文件位置。将数据记录到网络位置会降低性能。
编程用法
您可以通过编程方式配置和检查每个预设项值。
| 预设项 | 函数 |
|---|---|
记录模式 | |
所需的可用空间 | |
最大磁盘使用量 | |
当磁盘空间不足时 | |
存储模式 | |
存储位置 |
存档行为和运行限制
当您在单个 MATLAB 会话中运行多个仿真时,仿真数据检查器会保留每个仿真的结果,以便您一起分析这些结果。使用仿真数据检查器存档来管理用户界面中的运行,并控制仿真数据检查器保留的运行次数。
您可以配置存档中要保留的运行次数限制,以及仿真数据检查器是否自动将以前的运行移至存档中。
使用存档管理运行
默认情况下,仿真数据检查器会自动存档仿真运行。当您对模型进行仿真时,以前的仿真运行会移至存档中,并且仿真数据检查器会更新视图以显示当前运行中对齐信号的数据。
存档不会对运行和所包含的信号施加功能限制。您可以绘制来自存档的信号,并且可以在比较中使用存档中的运行和信号。无论是选择还是禁用自动存档,您都可以将感兴趣的运行记录从存档拖到工作区域,反之亦然。
要防止仿真数据检查器自动将以前的仿真运行移至存档,请清除自动存档设置。禁用自动存档后,仿真数据检查器不会将以前的运行移至存档窗格中,也不会自动更新图以显示当前仿真的数据。
提示
要手动删除存档的内容,请点击“删除存档的运行”
。
控制仿真数据检查器中保留的运行次数
您可以指定存档中要保留的运行次数限制。当存档中的运行次数达到限值时,仿真数据检查器会根据先进先出原则删除存档中的运行。
运行限值仅适用于存档中的运行。为使仿真数据检查器通过删除旧运行自动限制其保留的数据,请选择自动存档并指定大小限制。
默认情况下,仿真数据检查器会保留最后 20 个移至存档的运行。要取消限制,请选择无限制。要指定存档中存储的最大运行次数,请选择最后 n 次运行并输入限值。如果指定的限值会删除存档中已存在的运行,则会出现警告。
编程用法
您可以通过编程方式配置和检查存档行为并运行限值。
传入运行名称和位置
您可以配置仿真数据检查器处理来自导入或仿真的传入运行的方式。您可以选择是在工作区域的顶部还是底部添加新运行,并指定用于从仿真创建的运行的命名规则。
默认情况下,仿真数据检查器会在工作区域中以前运行的下方添加新运行。存档设置也会影响运行的位置。默认情况下,创建新仿真运行时,以前的运行将移至存档中。
运行命名规则用于命名从仿真创建的运行。您可以结合使用在运行名称中出现的字面文本和一个或多个表示有关运行的元数据的标记来创建运行命名规则。默认情况下,仿真数据检查器使用运行索引和模型名称来命名运行:Run <run_index>: <model_name>。
提示
要重命名现有运行,请双击工作区域中的名称并输入新名称,或在属性窗格中修改运行名称。
编程用法
您可以通过编程方式来配置和检查传入的运行名称和位置。
| 预设项 | 函数 |
|---|---|
添加新运行 | |
命名规则 |
要显示的信号元数据
您可以控制在仿真数据检查器的检查窗格的工作区域和比较窗格的结果部分显示哪些信号元数据。您可以使用“预设项”对话框的检查和比较部分中的表列预设项,分别为每个窗格指定要单独显示的元数据。
检查窗格
默认情况下,信号名称以及用于绘制信号的线型和颜色显示在检查窗格中。要在检查窗格的工作区域中显示不同的或其他元数据,请在检查部分的表列预设项中选中要显示的每个元数据旁边的复选框。您始终可以使用属性窗格查看在检查窗格中选定的信号的完整元数据。
注意
当您生成绘制信号的报告时,将包括显示在检查窗格上的工作区域中的元数据。当您使用 Simulink.sdi.report 函数以编程方式创建报告时,您还可以指定要包括在报告中的元数据,而不必考虑工作区域中显示的内容。
比较窗格
默认情况下,比较窗格会显示信号名称、信号比较中使用的绝对容差和相对容差,以及与比较结果的最大差异。要在比较窗格的结果中显示不同的或其他元数据,请在比较部分的表列预设项中选中要显示的每个元数据旁边的复选框。您始终可以使用属性窗格查看选定信号结果的比较信号的完整元数据,其中会突出显示比较信号之间的不同元数据。比较窗格上显示的信号元数据不会影响比较报告的内容。
检查窗格上的信号选择
您可以在仿真数据检查器中配置如何选择要在选定子图上绘制的信号。默认情况下,使用要绘制的每个信号旁边的复选框。您也可以选择根据工作区域中的选择来绘制信号。在创建表示数据集的检查结果和分析的视图和可视化时,请使用检查模式。使用浏览模式可快速查看和分析包含大量信号的数据集。
有关使用检查模式创建可视化的详细信息,请参阅Create Plots Using the Simulation Data Inspector。
有关使用浏览模式的详细信息,请参阅Visualize Many Logged Signals。
注意
要使用浏览模式,您的布局只能包括时间图可视化。
如何对齐信号以进行比较
当您使用仿真数据检查器比较各运行时,比较算法通过称为对齐的过程将信号配对以进行信号比较。您可以使用下表中所示的一个或多个信号属性在比较的各次运行之间对齐信号。
| 属性 | 描述 |
|---|---|
| 数据源 | 从工作区导入的数据在 MATLAB 工作区中的变量路径 |
| 路径 | 模型中数据源的模块路径 |
| SID | 自动分配的 Simulink 标识符 |
| 信号名称 | 信号的名称 |
您可以为用于对齐的每个元数据段指定优先级。对齐方式字段指定用于对齐信号的最高优先级属性。优先级随着每个后续的然后依据字段依次下降。您必须在对齐方式字段中指定主要对齐属性,但您可以将任何数量的然后依据字段留空。
默认情况下,仿真数据检查器根据此流程图在各次运行之间对齐信号。

有关在仿真数据检查器中配置比较的详细信息,请参阅仿真数据检查器如何比较数据。
用于显示比较结果的颜色
您可以使用仿真数据检查器预设项来配置用于显示比较结果的颜色。您可以指定是使用检查窗格中的信号颜色还是对基线信号和比较信号使用固定颜色。您还可以为容差和差异信号选择颜色。
默认情况下,仿真数据检查器使用固定颜色来显示基线信号和比较信号的比较结果。使用固定颜色可以避免基线信号颜色和比较信号颜色相同或过于相似而无法区分。
信号分组
您可以在仿真数据检查器中指定如何对一次运行中的信号进行分组。这些预设项将应用于检查和比较窗格以及比较报告。您可以按以下方式对信号进行分组:
域 - 信号类型。例如,由信号记录创建的信号具有域
Signal,而由记录模型输出创建的信号具有域Outports。物理系统层次结构 - 信号 Simscape™ 物理系统层次结构。如果您有 Simscape 许可证,可以使用按物理系统层次结构分组的选项。
数据层次结构 - 结构化数据中的信号位置。例如,数据层次结构分组反映总线的层次结构。
模型层次结构 - 模型层次结构中的信号位置。从包含模型或子系统引用的模型中记录数据时,按模型层次结构分组会很有帮助。
对信号进行分组会为层次结构节点添加行,您可以展开这些行以显示该节点内的信号。默认情况下,仿真数据检查器先按域,然后按物理系统层次结构(如果您有 Simscape 许可证),再按数据层次结构对信号进行分组。
要删除分组并在每次运行中显示信号的扁平列表,请对所有分组选项选择无。
编程用法
要指定如何以编程方式对信号进行分组,请使用 Simulink.sdi.setTableGrouping 函数。
要从并行仿真流式传输的数据
使用 parsim 函数运行并行仿真时,您可以将记录的仿真数据流式传输到仿真数据检查器。检查窗格中运行名称旁边的点表示与该运行对应的仿真状态,因此您可以在可视化流数据的同时监控仿真进度。您可以根据作为数据源的工作单元的类型来控制数据流是否来自并行仿真。
默认情况下,仿真数据检查器配置为从并行工作单元手动导入数据。您可以使用仿真数据检查器编程接口来检查工作单元上的数据,并决定是否将其发送到客户端仿真数据检查器进行进一步分析。要手动将数据从并行工作单元移至仿真数据检查器,请使用 Simulink.sdi.sendWorkerRunToClient 函数。
您可能希望从在本地工作单元上或在本地和远程工作单元上运行的并行仿真中自动流式传输数据。来自本地和远程工作单元的数据流可能会影响仿真性能,具体取决于您运行的仿真数量和记录的数据量。当您选择从本地工作单元或所有并行工作单元流式传输数据时,所有记录的仿真数据会自动显示在仿真数据检查器中。
编程用法
您可以使用 Simulink.sdi.enablePCTSupport 函数以编程方式配置仿真数据检查器对并行工作单元数据的支持。
信号显示单位
仿真数据检查器中的信号有两个单位属性:存储单位和显示单位。存储单位表示保存到磁盘的数据的单位。显示单位指定仿真数据检查器如何显示数据。您可以配置仿真数据检查器,以使用某种单位制来定义所有信号的显示单位。您可以选择公制或美制单位制,也可以使用其存储单位显示数据。
当您在仿真数据检查器中使用某种单位制来定义信号的显示单位时,如果信号的显示单位对该单位制无效,则该信号的显示单位会更新为该单位制的显示单位。例如,如果您选择公制单位,信号的显示单位可能会从 ft 更新为 m。
注意
您在仿真数据检查器中选择使用的单位制不会影响任何信号的储存单位。您可以使用 convertUnits 函数转换信号的存储单位。转换可能导致精度损失。
除了选择单位制,您还可以指定覆盖单位,以便使用一致的单位显示给定测量类型的所有信号。例如,如果您要使用单位 kg 可视化所有表示重量的信号,请将 kg 指定为覆盖单位。
提示
有关 Simulink 支持的单位列表,请在 MATLAB 命令行窗口中输入 showunitslist。
您还可以使用属性窗格修改特定信号的显示单位。有关详细信息,请参阅Modify Signal Properties in the Simulation Data Inspector。
编程用法
使用 Simulink.sdi.setUnitSystem 函数配置单位制和覆盖单位。您可以使用 Simulink.sdi.getUnitSystem 函数检查当前单位预设项。
另请参阅
函数
Simulink.sdi.clearPreferences|Simulink.sdi.setRunNamingRule|Simulink.sdi.setTableGrouping|Simulink.sdi.enablePCTSupport|Simulink.sdi.setArchiveRunLimit|Simulink.sdi.setAutoArchiveMode