主要内容

创建交互式比较报告

此示例演示如何创建基于web的交互式比较报告,以共享和归档使用模拟数据检查器执行的比较结果。该报告是一个自包含的HTML文件,查看该报告只需要一个web浏览器。您可以使用报告来分析比较结果,方法与在模拟数据检查器中类似。您可以在交互式视图和可打印视图之间更改报表的布局。

此示例演示如何使用从会话文件加载到仿真数据检查器中的数据创建交互式比较报告。有关将数据导入模拟数据检查器或从模拟中记录数据的信息,请参见在模拟数据检查器中查看数据

加载和比较数据

打开“模拟数据检查器”并将会话文件数据加载到“模拟数据检查器”中。

金宝appSimulink.sdi.view Simulink.sdi.load (“dataToCompare.mldatx”);

会话文件包含通过模拟模型创建的数据slexAircraftExample.两种模拟都使用来自模型中先导块的方波输入。每个模拟对输入滤波器使用不同的时间常数。第一次运行包含输入滤波器时间常数的模拟结果0.1.第二次运行包含输入滤波器时间常数的仿真结果1

要分析更改输入滤波器时间常数的影响,请比较包含每个模拟的数据的运行。

  1. 在“模拟数据检查器”中,导航到比较选项卡。

  2. 基线列表中,选择执行1:slexAircraftExample

  3. 比较列表中,选择执行2:slexAircraftExample

  4. 点击比较

方法以编程方式比较运行金宝appSimulink.sdi.compareRuns函数。

runIDs = 金宝appSimulink.sdi.getAllRunIDs;runID1 = runid (end-1);runID2 = runIDs(end);diffRes = 金宝appSimulink.sdi.compareRuns(runID1,runID2);

生成交互式比较报告

在生成对比报告以保存对比结果时,需要指定:

  • 您想要包含在报告中的数据。

  • 报告的标题和作者。

  • 文件名和位置。

  • 避免覆盖现有报告和缩短块路径的选项。当您在整个模型层次结构中记录数据时,可以考虑缩短块路径。

如需创建报表,请单击报告

对于这个例子:

  1. 类型中,选择比较

  2. 内容,选择其中一个选项。在本例中,比较中的所有信号都不匹配,因此报告的内容对于两个选项都是相同的。

  3. 标题文本框,输入比较:Ts = 0.1 vs. Ts = 1

  4. 文件名称文本框,输入slexAircraftExample_filterComparison.html

  5. 点击创建报告

生成的报告自动在系统浏览器中打开。默认情况下,模拟数据检查器将报告保存在名为sdireports在工作目录中。

使用交互式报告检查比较结果

交互式报告信息和布局类似于您在比较窗格的模拟数据检查器。在比较表中,您可以选择要在图中查看的信号结果。

属性表显示了比较信号的元数据,并突出显示了不同的元数据。滚动到属性表查看所有元数据。当比较中包含的信号比结果表中合适的信号多时,您可以在比较表中滚动,以检查每个信号比较的结果,并根据每列中的数据对表中的信号进行排序。

例如,要按最大差值对结果排序,请单击马克斯Diff列。

您可以通过拖动边框来调整报表中窗格的大小,并通过拖动列标题之间的分隔来调整每个表中列的宽度。例如,由于比较表没有使用信号窗格中的所有空间,您可以将属性面板更大。

表中的信息为坚持信号超出公差,最大差值为0.78.在模型中,坚持信号是信号发生器块的输出,滤波器时间常数不应影响块的输出。选择坚持信号来调查比较结果。

通过检查图,你可以看到差异发生在方波的上升和下降边。的slexAircraftExample模型采用变步长求解器。出现差异是因为新的时间常数值改变了系统动力学,求解器为第二次模拟计算的时间步长略有不同。方波的转变是尖锐的,所以小的时间差异可以导致巨大的幅度差异。

因为差异坚持信号是由于建模而不是系统动态的实际变化,您可以返回到仿真数据检查器并指定一个小的时间容忍(例如,0.01)坚持信号,使比较结果在公差范围内。为了共享更新后的结果,您可以生成一个新的比较报告。

打印比较报告

在完成比较结果的分析和表示之后,您可以使用交互式web报告打印结果的综合视图。要切换到可打印视图,请选择可打印的单选按钮,或按Ctrl+P在浏览器中查看打印预览。在可打印视图中,所有信号的元数据和图表都是堆叠的,汇总表位于顶部。

另请参阅

相关的话题