从指定的值中检测数据的更改
tf = hasChangedFrom (
返回1(data_name
,价值
)真的
)如果价值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
完全正确。
如果多个输入事件在同一时间步长中发生,则hasChangedFrom
操作符可以检测输入事件之间数据值的变化。
如果图表写入数据对象,但不更改数据值,则hasChangedFrom
操作符返回假
。
状态流的类型®图表确定更改检测运算符支持的数据的范围:万博1manbetx
MATLAB中的独立状态流程图:当地的
只要
在仿真万博1manbetx软件®模型,使用MATLAB作为动作语言的图表:输入
只要
在Si万博1manbetxmulink模型中,使用C作为动作语言的图表:输入
,输出
,当地的
,或数据存储内存
在MATLAB中的独立图表中,变更检测算子可以检测到在调用中指定的数据的变更一步
函数,因为这些更改发生在当前时间步长开始之前。例如,如果x
等于零的表达式散装(x,0)
返回真的
当您执行图表时ch
使用命令:
步骤(ch,“x”,1);
在Simulink模型中的图表中万博1manbetx,如果您启用图表选项每次唤醒输出才能唤醒输出控件的输出作为参数已经改变
运营商总是返回假
。有关更多信息,请参见初始化每一个时间图表被唤醒的输出。
当使用的图表中启用行为主数组布局时hasChangedFrom
,代码生成时会产生错误。在图表中生成代码之前hasChangedFrom
,启用列主数组布局。看到在生成的代码中选择矩阵的数组布局。