设置信号容差
您可以在基线和等效性测试用例的基线准则或等效性准则部分中指定容差。您可以为信号比较指定相对、绝对、超前和滞后容差。超前和滞后容差允许您补偿信号之间的时间差异。容差的单位是秒。
要了解如何计算容差,请参阅 仿真数据检查器如何比较数据。
修改准则容差
要修改容差,请在准则表中选择信号名称,双击容差值,然后输入新值。
如果在运行测试用例后修改了容差,请重新运行该测试用例以将新的容差差值应用于通过/失败结果。
基线比较测试中更改超前容差
当结果之间的差异在您认为可以接受的范围内时,指定一个容差。假设您正在测试的模型使用特定的求解器。求解器有时会从一个版本更新到下一个版本,并且也会有新的求解器可用。如果您使用更新的求解器或更改求解器,则可以指定基线和后续测试之间的差异的可接受容差。如果存在时间差异,超前和滞后容差允许您重新评估准则,例如,由于求解器数据偏离了 0.04 秒,您可以将其向左或向右移动以解决这个问题。
生成基线
为使用 ode-5
求解器的 sf_car
模型生成基线。
使用
openExample('sf_car')
打开sf_car
模型。打开测试管理器并创建一个名为
Solver Compare
的测试文件。在测试用例中,将在测系统设置为sf_car
。选择要记录的信号。在仿真输出下,点击添加。在模型中,选择
shift_logic
输出信号。在信号选择对话框中,选中shift_logic
旁边的复选框,然后点击添加。保存基线。在基线准则下,点击捕获。将文件格式设置为 MAT。将基线命名为
solver_baseline
并点击捕获。捕获基线 MAT 文件后,模型将运行并且基线准则将出现在表中。每个默认容差为 0。
更改求解器并运行测试用例
假设您想在您的模型中使用不同的求解器。您运行测试以将使用新求解器的结果与基线进行比较。
在模型中,将求解器更改为
ode1
。在测试管理器中,选择
Solver Compare
测试文件,点击运行。在结果和工件窗格中,请注意测试失败。
扩展失败测试的结果。在基线准则结果下,选择
shift_logic
信号。比较选项卡显示差异发生的位置。
放大结果存在分歧的比较图。比较信号的变化领先于基线,也就是说,它领先基线信号。
预览并设置超前容差值
您可以使用超前和滞后容差来允许仿真和基线数据之间的时间略有偏移。假设您的团队确定仿真步长(在本例中为 0.04 秒)的容差是可以接受的。在测试管理器中,设置超前容差值。对于变化发生在基线之前的信号,使用超前容差。对于在基线之后发生变化的信号,请使用滞后容差。
您可以预览容差值如何影响测试,以查看测试是否以指定的容差通过。然后在基线准则上设置容差并重新运行测试。
预览您想要使用的容差是否会导致测试通过。选择结果信号,在属性框中将超前容差设置为
.04
。当您更改此值时,状态将发生变化,以显示失败的测试通过。
当您对容差差值满意时,请将其输入基线准则,以便您可以重新运行测试并保存新的通过-失败结果。在测试浏览器窗格中,选择
Solver Compare
测试中的测试用例。在基线准则下,将
solver_baseline.mat
文件的超前容差值更改为.04
。默认情况下,每个信号从基线文件继承该值。您可以覆盖每个信号的值。
再次运行测试。测试通过。
要将容差值和通过的测试与测试文件一起存储,请保存测试文件。
另请参阅
sltest.testmanager.BaselineCriteria
| sltest.testmanager.SignalCriteria