主要内容

哈曼呼吸

检测数据的变化到指定的值

描述

例子

TF =哈桑(data_name.价值返回1(真的)如果价值data_name.不等于指定的价值在上一步一步的开始,等于价值在当前时间步的开始。否则,操作员返回0(错误的)。

争论data_name.可:

  • 标量变量。

  • 矩阵或矩阵的元素。

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

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

  • 结构中的结构或场。

    • 如果data_name.是一种结构,变更检测运算符返回真的当它检测到任何元素的变化时data_name.和新价值data_name.等于价值

    • 使用点表示法在结构中的索引字段。看索引并将值分配给stateflow结构

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

争论data_name.不能成为非活动表达式或自定义代码变量。

笔记

Matlab的独立图表®不要支持在结构万博1manbetx中的矩阵的元素上的更改检测。

争论价值可以是解决与相当的值的任何表达式data_name.

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

  • 如果data_name.是一个矩阵,然后价值必须解析为具有相同尺寸的矩阵值data_name.

    或者,在使用C作为动作语言的图表中,价值可以解析为标量值。图表使用标量扩展来比较data_name.到矩阵,其元素全部等于所指定的值价值。看为矩阵的所有元素分配值

  • 如果data_name.是一个结构,然后价值必须解析为现场规范匹配的结构值data_name.确切地。

例子

展开全部

如果有任何要素,则过渡m自上次时间步或输入事件和矩阵的当前值具有改变的值m等于矩阵值

[剩下呼吸(M,Matrixvalue)]

状态垃圾图表在转换中使用已频率的运算符。

如果矩阵的第1行和第3列中的元素,则过渡m已经改变为价值7.自上次步骤或输入事件以来。

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

[散装(M(1,3),7)]]

状态垃圾图表在转换中使用已频率的运算符。

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

[散装(M [0] [2],7)]]

状态垃圾图表在转换中使用已频率的运算符。

如果结构的任何领域,转换出国家塑造自上次执行步骤或输入事件和当前值以来已经改变了值塑造等于结构价值

[散装(STRUCT,STRUCTVALUE)]

状态垃圾图表在转换中使用已频率的运算符。

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

[已频繁(Struct.field,5)]

状态垃圾图表在转换中使用已频率的运算符。

尖端

  • 如果多个输入事件发生在同一时间步骤中,则哈曼呼吸操作员可以检测输入事件之间数据值的更改。

  • 如果图表写入数据对象但不会更改数据值,则哈曼呼吸运营商退货错误的

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

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

    • 在Si万博1manbetxmulink.®模型,使用MATLAB作为动作语言的图表:输入只要

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

  • 在MATLAB的独立图表中,更改检测运算符可以检测到呼叫中指定的数据的变化功能,因为在当前时间步骤开始之前发生这些变化。例如,如果X等于零,表达式喊道(x,1)回报真的当您执行图表时CH.使用命令:

    步骤(CH,'X',1);
    相反,更改检测操作员无法在同一时间步骤中检测由状态或转换动作的分配引起的数据的变化。相反,操作员在下次步骤开始时检测值的变化。

  • 在Simulink模型中的图表中万博1manbetx,如果启用图表选项每次唤醒输出才能唤醒输出,使用输出作为参数已经改变操作员总是返回错误的。有关更多信息,请参阅每次唤醒输出才能唤醒输出

  • 在使用的图表中启用了行 - 主要数组布局时哈曼呼吸,代码生成产生错误。在使用的图表中生成代码之前哈曼呼吸,启用列 - 主要数组布局。看在生成的代码中选择矩阵的数组布局

在R2007A介绍