定义测试步骤和评估
您可以通过在 Test Sequence 模块和 Test Assessment 模块中创建测试步骤动作、转移和评估来对模型仿真进行评估。
Test Sequence 模块和 Test Assessment 模块使用 MATLAB® 作为动作语言。步骤和转移可以包含字符串(包括字符串比较)以及评估语句、信号生成函数和关系运算符。有关详细信息,请参阅 Test Assessment、Test Sequence 和测试序列编辑器。
评估语句
要验证仿真,停止仿真并返回验证结果,请使用评估语句。
时序运算符
要创建计算仿真时间的表达式,请使用时序运算符。信号条件中的变量必须是 Test Sequence 模块中的输入、参数或常量。您可以使用以下时序运算符:
转移运算符
要创建计算信号事件的表达式,请使用转移运算符。要计算信号事件,信号必须是 Test Sequence 模块或 Test Assessment 模块中的输入。
| 运算符 | 描述 |
|---|---|
hasChanged | 如果自当前测试步骤开始起指定信号的值发生变化,则返回 |
hasChangedFrom | 如果指定信号从指定值变化为其他值,则返回 |
hasChangedTo | 如果指定信号变化为指定值,则返回 true;否则返回 |
信号生成函数
您可以在 Test Sequence 模块中使用以下函数来创建测试信号、随机数值和自然指数。您可以将时序运算符与部分信号生成函数结合使用。有关详细信息,请参阅时序运算符。
注意
参量值的缩放、舍入和其他近似处理可能会影响函数输出。
逻辑运算符
您可以在动作、转移和评估中使用逻辑连接符。在以下示例中,p 和 q 代表布尔信号或逻辑表达式。
| 运算 | 语法 | 描述 | 示例 |
|---|---|---|---|
非 | ~p | 非 |
|
与 | p && q |
|
|
或 | p || q |
|
|
蕴含 | ~p || q | 如果 |
|
双条件 | (p && q) || (~p && ~q) |
|
|
关系运算符
您可以在动作、转移和评估中使用关系运算符。在以下示例中,x 和 y 代表数值型变量。
在 verify 语句中使用 == 或 ~= 运算符比较浮点数据时会返回警告。实现 verify 语句时,需考虑与浮点数关联的精度限制。请参阅浮点数。如果您使用浮点数据,请考虑为评估定义容差。例如,请不要使用 verify(x == 5),而是在 0.001 的容差内验证 x:
verify(abs(x-5) < 0.001)
| 运算符和语法 | 描述 | 示例 |
|---|---|---|
x > y | 大于 | verify(x > y) |
x < y | 小于 | verify(x < y) |
x >= y | 大于或等于 | verify(x >= y) |
x <= y | 小于或等于 | verify(x <= y) |
x == y | 等于 | verify(x == y) |
x ~= y | 不等于 | verify(x ~= y) |