Обнаружьте возрастающее или падающее ребро в данных начиная с последнего временного шага
tf = crossing(
возвращается 1 (expression
)true
) если:
Предыдущее значение expression
было положительно, и его текущее значение является нулем или отрицательный.
Предыдущее значение expression
был нуль, и его текущее значение является ненулевым.
Предыдущее значение expression
было отрицательно, и его текущее значение является нулем или положительный.
В противном случае оператор возвращается 0 (false
). Если expression
значение изменений от положительного, чтобы обнулить к отрицанию или от отрицательного, чтобы обнулить к положительному на трех последовательных временных шагах, оператор обнаруживает одно ребро когда значение expression
становится нулевым.
Аргумент expression
:
Должно быть выражение со скалярным знаком
Может объединить входные данные графика, константы, ненастраиваемые параметры, непрерывное время локальные данные, и утвердить данные из Simulink® основанные состояния
Может включать сложение, вычитание, и умножение скалярных переменных, элементы матрицы, полей в структуре или любой допустимой комбинации полей структуры и элементов матрицы
Индексируйте элементы матрицы при помощи чисел или выражений, которые оценивают до постоянного целого числа.
Примечание
Обнаружение ребра поддерживается только в Stateflow® графики в моделях Simulink.
Оператор crossing
подражает поведению блока Trigger (Simulink) с набором Trigger Type к either
.
Обнаружение ребра в течение непрерывного времени локальные данные и данные состояния из основанных на Simulink состояний поддерживается только в условиях перехода.
В атомарных субдиаграммах сопоставьте все входные данные, которые вы используете в выражениях обнаружения ребра для входных данных или ненастраиваемых параметров в основном графике. При отображении этих входных данных с выходными данными локальные данные или настраиваемые параметры могут привести к неопределенному поведению.