主要内容

hasChangedFrom

从指定的值中检测数据的更改

描述

例子

tf = hasChangedFrom (data_name,价值)返回1(真的)如果价值data_name等于指定的价值在前一步一步的开始处,在当前时间步骤开始时是不同的值。否则,操作员返回0()。

这个论点data_name可以是:

  • 一个标量变量。

  • 矩阵或矩阵中的一个元素

    • 如果data_name是一个矩阵,操作员返回真的当它检测到任何元素的变化时data_name和之前的值data_name等于价值

    • 使用评估到恒定整数的数字或表达式矩阵的索引元素。看到万博1manbetx支持向量和矩阵的操作

  • 结构中的结构或场。

    • 如果data_name是结构,变更检测操作符返回真的当它检测到任何元素的变化时data_name和之前的值data_name等于价值

    • 使用点表示法在结构中索引字段。看到为状态流结构建立索引并赋值

  • 任何结构字段或矩阵元素的有效组合。

这个论点data_name不能是非普通表达式或自定义代码变量。

请注意

MATLAB中的独立图表®不支持对矩阵的万博1manbetx元素或结构中的字段进行变更检测。

这个论点价值可以是解决与相当的值的任何表达式data_name:

  • 如果data_name那是一个标量价值必须解析为标量值。

  • 如果data_name是一个矩阵,然后价值必须解决一个矩阵值与data_name

    或者,在使用C作为动作语言的图表中,价值可以解析为标量值。图表使用标量展开进行比较data_name矩阵的所有元素都等于价值。看到为矩阵的所有元素赋值

  • 如果data_name是一种结构吗价值必须解析为现场规范匹配的结构值data_name完全正确。

例子

全部展开

如果矩阵的前一个值,则转移出状态等于matrixValue任何元素自上次时间步长或输入事件以来已更改值。

[遍布(m,matrixvalue)]

StateFlow图表在转换中使用散装的来自运算符。

如果矩阵的第1行和第3列中的元素转换出状态已经改变了价值7自上次时间步长或输入事件。

在使用MATLAB作为动作语言的图表中,使用:

[hasChangedFrom (M (1,3), 7))

StateFlow图表在转换中使用散装的来自运算符。

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

[散退来自(m [0] [2],7)]]

StateFlow图表在转换中使用散装的来自运算符。

如果是结构的前一个值,则转换出状态结构体等于structValue任何领域结构体自上次时间步长或输入事件以来已更改值。

[hasChangedFrom (struct structValue)]

StateFlow图表在转换中使用散装的来自运算符。

如果领域的转变出来struct.field已经改变了价值5自上次时间步长或输入事件。

[hasChangedFrom struct.field, 5)]

StateFlow图表在转换中使用散装的来自运算符。

尖端

  • 如果多个输入事件在同一时间步长中发生,则hasChangedFrom操作符可以检测输入事件之间数据值的变化。

  • 如果图表写入数据对象,但不更改数据值,则hasChangedFrom操作符返回

  • 状态流的类型®图表确定更改检测运算符支持的数据的范围:万博1manbetx

    • MATLAB中的独立状态流程图:当地的只要

    • 在仿真万博1manbetx软件®模型,使用MATLAB作为动作语言的图表:输入只要

    • 在Si万博1manbetxmulink模型中,使用C作为动作语言的图表:输入,输出,当地的,或数据存储内存

  • 在MATLAB中的独立图表中,变更检测算子可以检测到在调用中指定的数据的变更一步函数,因为这些更改发生在当前时间步长开始之前。例如,如果x等于零的表达式散装(x,0)返回真的当您执行图表时ch使用命令:

    步骤(ch,“x”,1);
    相反,变更检测操作符不能检测在同一时间步骤中由状态分配或转换操作引起的数据变更。相反,该操作符在下一个时间步长开始时检测值的变化。

  • 在Simulink模型中的图表中万博1manbetx,如果您启用图表选项每次唤醒输出才能唤醒输出控件的输出作为参数已经改变运营商总是返回。有关更多信息,请参见初始化每一个时间图表被唤醒的输出

  • 当使用的图表中启用行为主数组布局时hasChangedFrom,代码生成时会产生错误。在图表中生成代码之前hasChangedFrom,启用列主数组布局。看到在生成的代码中选择矩阵的数组布局

介绍了R2007a