Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

crossing

检测自上一时间步以来数据中的上升沿或下降沿

自 R2021b 起

描述

示例

如果满足以下条件,则 tf = crossing(expression) 返回 1 (true):

  • expression 的前一个值为正值,其当前值为零或负值。

  • expression 的前一个值为零,其当前值为非零。

  • expression 的前一个值为负值,其当前值为零或正值。

否则,运算符返回 0 (false)。如果 expression 在三个连续时间步内将值从正值到零再到负值或从负值到零再到正值,则当 expression 的值变为零时,运算符会检测到单一边沿。

参量 expression

  • 必须为标量值表达式

  • 可以组合图输入数据、常量、不可调参数、连续时间局部数据和来自基于 Simulink® 状态的状态数据

  • 可以包括标量变量、矩阵元素、结构体中的字段或结构体字段和矩阵元素的任何有效组合的加法、减法和乘法

使用数值或计算结果为常量整数的表达式对矩阵元素进行索引。

注意

仅 Simulink 模型中的 Stateflow® 图支持边沿检测。

示例

全部展开

如果输入数据 signal 的值越过阈值 2.5,则发生转出状态的转移。

[crossing(signal-2.5)]

Stateflow chart that uses the crossing operator in a transition.

当表达式 signal-2.5 的值变为零或更改符号时,检测到边沿。

提示

  • 运算符 crossing 模拟触发器类型设置为 eitherTrigger (Simulink) 模块的行为。

  • 仅在转移条件下支持连续时间局部数据和来自基于 Simulink 的状态的状态数据的边沿检测。

  • 在原子子图中,将您在边沿检测表达式中使用的所有输入数据映射到主图中的输入数据或不可调参数。将这些输入数据映射到输出数据、局部数据或可调参数会导致未定义的行为。

版本历史记录

在 R2021b 中推出