比较仿真数据
模拟数据检查器可以比较运行的数据和元数据,以及从工作空间、文件或模拟日志中导入的各个信号。您可以使用容差分析比较结果,并且可以通过指定信号属性和比较约束来配置比较行为。这个例子使用了从模型模拟中记录的数据slexAircraftExample
并展示如何:
比较信号和运行。
分析比较结果比较窗格中的模拟数据检查器。
指定信号公差和全局公差。
配置比较约束。
有关公差计算和影响比较的信号属性的更多信息,请参见模拟数据检查器如何比较数据.要以编程方式比较数据,请使用金宝appSimulink.sdi.compareRuns
函数或金宝appSimulink.sdi.compareSignals
函数。
设置
这个例子继续从检查仿真数据.您还可以使用此脚本生成示例所需的数据。
load_system (“slexAircraftExample”)配置要记录的信号金宝appSimulink.sdi.markSignalForStreaming (“slexAircraftExample /试点”, 1“上”) 金宝appSimulink.sdi.markSignalForStreaming ('slexAircraftExample/飞机动力学模型'3,“上”) 金宝appSimulink.sdi.markSignalForStreaming ('slexAircraftExample/飞机动力学模型'4“上”)将导频信号改为正弦set_param (“slexAircraftExample /试点”,“波形”,的正弦)模拟模型sim卡(“slexAircraftExample”)将导频信号改为方形set_param (“slexAircraftExample /试点”,“波形”,“广场”)%模拟模型sim卡(“slexAircraftExample”)
比较信号
您可以比较信号来分析模型中两个信号之间的关系。例如,比较坚持
输入信号对输出信号,α,rad
.
导航到比较窗格。
若要查看可供比较的信号列表,请展开基线下拉并选择信号.
选择
Stick(运行1:slexAircraftExample)
.扩大比较下拉并选择
alpha, rad(运行1:slexAircraftExample)
.点击比较.
或者,您可以选择基线而且比较信号使用上下文菜单中的信号检查窗格。
信号是不相同的,所以它们在绝对容差、相对容差和时间容差内都不匹配0
默认情况下。
信号时间公差
查看比较视图中的顶部图,您可以看到α,rad
信号滞后坚持
信号。对于信号比较,模拟数据检查器使用为基线信号。控件添加时间容差坚持
信号来解释延迟。
选择坚持
信号并进入0.5
在时间的宽容字段属性窗格。当你指定a的公差时基线信号,其超越全局容忍字段自动更改为是的
.当你点击离开时间的宽容字段,则使用指定的信号级公差再次运行比较。如果要对信号使用全局公差值,请单击超越全局容忍字段并选择没有
从下拉菜单中。
模拟数据检查器在绘制的对象周围绘制公差带基线信号和周围有符号的差分信号显示在底部的子图中。差异图顶部的条形图以绿色和红色显示了比较公差范围内和公差范围外的区域。
信号幅度公差
时间公差包括两个信号之间的相位差,但比较仍然包括由于幅度差而超出公差的区域。你可以添加一个幅度公差绝对的宽容或相对宽容.
给。增加一个绝对公差坚持
信号,输入0.05
到绝对的宽容属性窗格中的字段。结合绝对容差和时间容差,信号比较就通过了。
请注意
模拟数据检查器使用每个点的指定公差的最宽松解释来绘制公差区域。有关模拟数据检查器如何计算公差带的详细信息,请参见公差规范.
比较这两种
还可以使用模拟数据检查器将一次运行中的所有信号与另一次运行中的所有信号进行比较。运行比较可以提供关于改变模型参数的影响的有用信息。例如,改变控制杆输入信号滤波器的频率截止。然后,使用模拟数据检查器评估对记录信号的影响。
要访问模型工作区中的数据,请在建模选项卡,在设计,点击模型浏览器.
单击模型名称旁边的箭头并选择模型的工作空间.
更改的值
Ts
从0.1
来1
然后关闭模型浏览器.使用新的过滤器模拟模型。
在比较窗格中的模拟数据检查器,展开基线下拉菜单,并选择运行.
从运行列表中选择
执行2:slexAircraftExample
.扩大比较下拉并选择
运行3:slexAircraftExample
.点击比较.
的比较窗格中列出来自比较运行的所有信号,并在结果列。在这个例子中,所有三个信号都对齐了,没有一个匹配。您可以单击更多的看看每个信号比较不匹配的原因。这三个信号都超出了公差范围。
请注意
仿真数据检查器只比较来自基线用从比较运行。如果信号从基线的信号未对齐比较运行时,信号列在比较带有警告的窗格。有关信号对齐的详细信息,请参见信号对齐.
控件中选择要查看的信号,以绘制比较结果比较窗格。方法的结果q, rad /秒
信号。上面的图显示了q, rad /秒
来自基线而且比较运行。下面的图显示了信号和计算公差带之间的差异。
全球公差
要分析运行比较中的信号,可以指定全局公差。单击,指定全局公差更多的.下全球公差,输入0.75
对于时间公差和0.075
对于绝对公差。
单击比较按钮以运行比较。的周围绘制公差带的模拟数据检查器基线信号和符号差分图。有了新的公差值坚持
而且q, rad /秒
信号通过比较。
查看α,rad
分析信号在比较结果中的超差区域。点击箭头按钮在工具栏中导航超出容差区域。图上的两个游标表示第一个出公差区域的开始和结束。您可以使用键盘箭头来探索每个超出公差区域的信号和公差值。若要查看下一个超出公差区域,请单击工具条中的右箭头按钮。
若要解决超出公差区域,可以选择修改全局公差值或向α,rad
信号使用信号属性。
配置对比约束
还可以对比较应用约束,以影响结果是匹配还是不匹配。例如,您可以指定信号的时间向量必须匹配,以使结果匹配。若要指定约束,请单击更多的,然后选择信号时间向量必须匹配.若要运行与此约束的新比较,请单击比较.
对比结果显示所有信号结果现在都是错配。时间向量与任何信号都不匹配,因为它们是从使用可变步长求解器的模型的模拟中记录下来的,并且条件在模拟之间发生了变化。当比较结果由于约束而不匹配时,模拟数据检查器不会计算该信号的结果。当您选择一个信号时,绘图区域会显示信号结果不匹配的原因。
你可以配置这些比较约束:
信号数据类型必须匹配
信号启动和停止时间必须匹配
信号时间向量必须匹配
当需要在信号元数据中匹配时,指定约束可以更快地返回不匹配结果,因为当指定的元数据不匹配时,比较不会计算结果。
还可以配置比较,以便在检测到第一个不匹配结果后停止计算结果。当您将比较配置为在第一个不匹配时停止时,比较总是在检测到信号元数据中的第一个不匹配后停止。在比较信号数据时,如果第一个失配结果是由于超出公差导致的,也可以选择停止比较。
仿真数据检查器总是在基线和比较运行中对齐信号,并总是检查信号单元是否匹配。当您将比较配置为在第一次不匹配时停止时,不对齐的信号和与单元不匹配的信号总是导致比较停止。您可以通过选择一个或多个约束来指定要检查的比较的其他元数据。
取消的比较
本例中使用的运行和信号相对较小,并且比较运行得很快。当比较长信号或包含多个信号的运行时,比较可能会花费更多时间。仿真数据检查器在比较期间显示增量进度指示器,而比较按钮变成取消按钮,您可以在任何时候单击取消比较。对于分层数据,使用结果比较视图中的列汇总了每个层次节点上的结果。