主要内容

本页采用了机器翻译。点击此处可查看英文原文。

评估仿真并比较输出数据

R2026b

功能测试需要评估仿真行为并将仿真输出与预期输出进行比较。例如,您可以:

  • 分析事件发生后一定时间区间内的信号行为。

  • 在仿真中比较两个变量。

  • 将时间序列数据与基线进行比较。

  • 在时间序列数据中查找峰值,并将峰值与模式进行比较。

本主题提供了概述,以帮助您针对特定应用程序编写评估。在主题中,您可以找到每个评估的更详细示例的链接。

您可以将评估纳入测试用例、模型或测试框架中。

  • 在测试用例中,您可以:

  • 在测试框架或模型中,您可以:

    • 使用 verify 语句在运行时验证逻辑条件,该语句为每个时间步返回 pass、fail 或 untested 结果。

    • 使用 assert 语句在发生故障时停止仿真。

    • 使用模型验证或 Simulink® Design Verifier™ 库中的模块。

将仿真数据与基线数据或其他仿真进行比较

基线准则是仿真数据与基线数据相比的容差。等效性准则是两组仿真数据的容差,每组数据来自不同的仿真。您可以设置数字、枚举或逻辑数据的容差。

使用绝对或相对容差设置数字容差。使用超前容差和滞后容差设置时间容差。对于数值数据,您可以指定绝对容差、相对容差、超前容差或滞后容差。对于枚举或逻辑数据,您可以指定超前或滞后容差。容差范围之外的结果失败。有关详细信息,请参阅设置信号容差。

在测试管理器基线准则或等效性准则部分指定基线数据和容差。结果出现在结果和工件窗格中。比较图显示数据和差异。

该图显示了基线准则的一个示例。基线准则为信号 output torque 和 vehicle speed 设置了相对容差。

Baseline criteria table

使用自定义脚本对结果进行后处理

您可以使用自定义准则脚本,利用专门的函数来分析仿真数据。例如,您可以使用 Curve Fitting Toolbox™ 函数在时间序列数据中找到峰值。自定义准则脚本是在仿真后运行的 MATLAB® 代码。自定义准则脚本使用 MATLAB 单元测试框架。

在测试用例的测试管理器自定义准则部分中编写自定义准则脚本。自定义准则结果出现在结果和工件窗格中。结果显示为单独的 MATLAB 单元测试资格。有关详细信息,请参阅使用自定义脚本处理测试结果。

这个简单的测试用例自定义准则验证 slope 的值是否大于 0。

% A simple custom criteria
test.verifyGreaterThan(slope,0,'slope must be greater than 0')

运行时评估

verify 语句

对于运行时评估,请在 Test Assessment 或 Test Sequence 模块中使用 verify 语句。verify 语句评估逻辑表达式并返回每个仿真时序步骤的通过、失败或未测试结果。verify 语句可以包括时序和条件语法。失败并不会停止仿真。

有关在模型中使用 verify 语句的信息,请参阅 使用 when 分解验证模型仿真 和 verify.

assert 语句

与 verify 语句类似,assert 语句用于评估逻辑表达式,但如果测试条件为假,则仿真停止。为了使结果更容易解释,请添加可选消息。有关详细信息,请参阅 assert。

模型验证模块

使用 Simulink Model Verification 库或 Simulink Design Verifier 库中的模块来评估模型或测试框架中的信号。每个模块的 pass、fail 或 untested 结果都会出现在测试管理器中。有关详细信息,请参阅使用仿真数据检查器检查模型验证结果。

注意

所有模型验证库模块(包括 Assertion 模块)在 For Each 子系统中使用时都不会产生验证结果。改用带有 verify 语句的 Test Sequence 模块。

逻辑和时序评估

逻辑和时序评估评估时序属性,例如模型时序和记录数据的事件排序。仿真完成后,使用时序评估进行额外的系统验证。时序评估与测试管理器中的测试用例相关。使用逻辑和时序评估编辑器来编写时序评估。有关详细信息,请参阅使用时序评估来评估时序逻辑。

时序评估评价结果出现在结果和工件窗格中。使用表达式树详细调查结果。如果您拥有 Requirements Toolbox™ 许可证,您可以通过创建需求链接来建立需求和时序评估之间的可追溯性。有关详细信息,请参阅链接至需求。

另请参阅

主题