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