Main Content

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

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 语句中比较浮点数据时,请考虑与浮点数相关的精度限制。如果需要使用浮点数据,请定义评估的容差。参见 浮点数。例如,在 0.001 的容差范围内断言 x 而不是 assert(x == 5)

    assert(abs(x-5) < 0.001)

版本历史记录

在 R2015a 中推出