主要内容

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

assert

计算逻辑表达式并在计算结果为 false 时停止仿真

描述

assert(expression) 计算逻辑 expression。逻辑表达式的计算结果为 truefalse。如果 assert 语句的计算结果为 false,则仿真停止并返回错误。

示例

assert(expression,errmsg) 针对失败的 assert 语句返回指定的错误消息字符串 (errmsg)。如果您在测试管理器中运行测试,则错误消息显示在仿真日志中。如果您在测试管理器外运行测试,则错误消息显示在诊断查看器中。

示例

示例

全部展开

如果 hk 中的任意一者不为 0,则此 assert 语句失败,并且仿真停止。

assert(h==0 && k==0)

提示

  • assert 语句可用于 Test Sequence 模块和 Test Assessment 模块以及 Stateflow® 图中。Model 模块中的 assert 在普通模式下可用,但在快速加速模式仿真中不可用。

    注意

    Test Sequence 模块或 Stateflow 图中,assert 语句不支持用于代码生成且会被忽略,因此如果在 Simulink® Real-Time™ 仿真期间断言条件失败,不会产生错误。然而,verify 语句支持用于 Simulink Real-Time 代码生成,并且会自动在测试管理器中记录测试用例的结果。使用 Simulink Assert 模块时,适用相同的日志记录行为。

  • assert 语句中比较浮点数据时,需考虑与浮点数关联的精度限制。如果您需要使用浮点数据,请为评估定义容差。请参阅浮点数。例如,请不要使用 assert(x == 5),而是在 0.001 的容差内断言 x

    assert(abs(x-5) < 0.001)

版本历史记录

在 R2015a 中推出