文档

hasChangedTo

检测数据指定值的变化

描述

例子

tf = hasChangedTo (u,v)返回真正的如果这两个条件是正确的:

  • 的价值u开始之前的时间步长不等于v

  • 的价值u开始等于当前时间步骤v

如果多个输入事件发生在相同的时间步长,hasChangedTo返回真正的时的值u值的变化v之间的输入事件。

第一个参数u可以是:

索引可以是数字或表达式,表达式的计算结果为一个标量值。

第二个参数v可以是任何表达式解析为一个值,比得上吗u:

  • 如果u是一个标量,然后呢v必须解决一个标量值。

  • 如果u是一个矩阵,然后呢v必须解决一个矩阵值相同的尺寸吗u。的hasChangedTo操作符返回真正的如果任何元素u改变了值,自从上次步骤或输入事件的当前值u等于v

    或者,在一个图表,使用C作为行动的语言,v能解决一个标量值。图表使用标量扩张比较u一个矩阵的元素都等于指定的值v。看到赋值矩阵的所有元素

  • 如果u是一个结构,那么v必须解决结构的字段值规范比赛u完全正确。的hasChangedTo操作符返回真正的如果任何领域u改变了值,自从上次步骤或输入事件的当前值u等于v

这个论点u不能一个非凡的表达式或一个自定义代码变量。

例子

全部展开

返回真正的如果任何领域结构体改变了值,自从上次步骤或输入事件和结构的当前值吗结构体等于structValue

structValue hasChangedTo(结构)

返回真正的如果结构字段struct.field改变了价值5自从上次时间步或输入事件。

hasChangedTo (struct.field, 5)

返回真正的如果任何元素改变了值,自从上次步骤或输入事件和矩阵的当前值吗等于matrixValue

matrixValue hasChangedTo (M)

返回真正的如果元素的第一行和列3的矩阵改变了价值7自从上次时间步或输入事件。

在使用MATLAB的图表®作为行动的语言:

hasChangedTo (M (1,3), 7)

图表中使用C作为行动的语言:

hasChangedTo (M [0] [2], 7)

提示

  • 对于Stateflow®图表在仿真软件金宝app®模型中,行动语言决定了范围的数据支持改变检测:金宝app

    • MATLAB作为行动的语言:输入只有。

    • C作为行动的语言:输入,输出,当地的,或数据存储内存

  • 独立Stateflow图表不支持改变检测矩阵的一个元素或者一个字段结构金宝app。

  • hasChangedTo操作符返回如果图表写入数据,但不改变数据值。

  • 如果你使图表选项初始化输出每次图表醒来,不要使用一个输出的参数hasChangedTo操作符。启用这个选项后,hasChangedTo运营商总是返回。有关更多信息,请参见初始化输出每次图表醒来

介绍了R2007a