检测数据到指定值的变化
tf = hasChangedTo (
返回1(data_name
,价值
)真的
)如果价值data_name
是否等于指定的价值
在前一个时间步长的开始处,等于价值
在当前时间步骤的开始处。否则,操作符返回0 (假
).
这个论点data_name
可以是:
一个标量变量。
矩阵或矩阵的一个元素
如果data_name
是一个矩阵,操作员返回真的
当它检测到任何元素的变化data_name
的新值data_name
等于价值
.
使用评估到恒定整数的数字或表达式矩阵的索引元素。看到金宝app向量和矩阵的支持运算.
结构中的结构或场。
如果data_name
是一种结构,变更检测运算符返回真的
当它检测到任何元素的变化data_name
的新值data_name
等于价值
.
使用点表示法在结构中索引字段。看到为状态流结构建立索引和赋值.
任何结构字段或矩阵元素的有效组合。
这个论点data_name
不能是普通表达式或自定义代码变量。
请注意
MATLAB中的独立图表®不支持对矩阵元金宝app素或结构中的字段进行更改检测。
这个论点价值
可以是解决与相当的值的任何表达式data_name
:
如果data_name
那是一个标量价值
必须解析为标量值。
如果data_name
是一个矩阵,然后价值
必须解析为具有相同尺寸的矩阵值data_name
.
或者,在一个使用C语言作为动作语言的图表中,价值
可以解析为标量值。图表使用标量展开进行比较data_name
到一个矩阵,该矩阵的元素都等于指定的值价值
.看到给矩阵的所有元素赋值.
如果data_name
是一种结构吗价值
必须解析为现场规范匹配的结构值data_name
完全正确。
如果在同一时间步长中发生多个输入事件,则hasChangedTo
操作符可以检测输入事件之间数据值的变化。
如果图表写入数据对象但不改变数据值,则hasChangedTo
操作符返回假
.
状态流的类型®图表确定更改检测运算符支持的数据的范围:金宝app
Matlab中的独立状态流图:当地的
只要
在仿真金宝app软件®模型,使用MATLAB作为动作语言的图表:输入
只要
在Si金宝appmulink模型中,使用C作为动作语言的图表:输入
,输出
,当地的
,或数据存储内存
在MATLAB中的一个独立图表中,变化检测算子可以检测在调用中指定的数据中的变化一步
函数,因为这些更改发生在当前时间步骤开始之前。例如,如果x
等于0,表达式喊道(x,1)
返回真的
当您执行图表时ch
使用命令:
步骤(ch,“x”,1);
在Simulink模型中的图表中金宝app,如果您启用图表选项每次唤醒输出才能唤醒输出的参数,使用输出作为参数已经改变
运营商总是返回假
.有关更多信息,请参见每次唤醒输出才能唤醒输出.
在使用的图表中启用行主数组布局时hasChangedTo
,则代码生成将产生错误。在使用图表生成代码之前hasChangedTo
,启用列主数组布局。看到在生成的代码中选择矩阵的数组布局.