Обнаружьте изменение в данных к заданному значению
tf = hasChangedTo(
возвращает u
,v
)true
если оба из этих условий верны:
Значение u
в начале предыдущего временного шага не было равно v
.
Значение u
в начале текущего времени шаг равен v
.
Если несколько входных событий имеют место в том же временном шаге, hasChangedTo
возвращает true
когда значение u
изменения в значении v
между входными событиями.
Первый аргумент u
может быть:
Скалярная переменная.
Матрица A или элемент матрицы. Смотрите Поддерживаемые Операции для Векторов и Матриц.
Структура или поле в структуре. Смотрите индекс и Значения Присвоения к Структурам Stateflow.
Любая допустимая комбинация полей структуры или матричных индексов.
Индексы могут быть числами или выражениями, которые оценивают к скалярному значению.
Второй аргумент v
может быть любое выражение, которое решает к значению, которое сопоставимо с u
:
Если u
скаляр, затем v
должен решить к скалярному значению.
Если u
матрица, затем v
должен решить к матричному значению с теми же размерностями как u
. hasChangedTo
оператор возвращает true
если любой элемент u
изменил значение начиная с последнего временного шага или ввел событие и текущее значение u
равно v
.
В качестве альтернативы в графике, который использует C в качестве языка действия, v
может решить к скалярному значению. График использует скалярное расширение, чтобы сравнить u
к матрице, элементы которой все равны значению, заданному v
. Смотрите значения присвоения ко всем элементам матрицы.
Если u
структура, затем v
должен решить к значению структуры, полевая спецификация которого совпадает с u
точно. hasChangedTo
оператор возвращает true
если любое поле u
изменил значение начиная с последнего временного шага или ввел событие и текущее значение u
равно v
.
Аргумент u
не может быть нетривиальное выражение или переменная пользовательского кода.
Для графиков Stateflow® в модели Simulink® язык действия определяет осциллограф данных, которые поддерживают обнаружение изменения:
MATLAB как язык действия: Input
только.
C как язык действия: Input
вывод
, Local
, или Data Store Memory
.
Автономные диаграммы Stateflow не поддерживают обнаружение изменения на элементе матрицы или поля в структуре.
hasChangedTo
оператор возвращает false
если график пишет в данные, но не изменяет значение данных.
Если вы включаете опции графика Initialize Outputs Every Time Chart Wakes Up, не используйте выход в качестве аргумента hasChangedTo
оператор. С этой включенной опцией, hasChangedTo
оператор всегда возвращает false
. Для получения дополнительной информации смотрите, Инициализируют Выходные параметры, которые Будит Каждая Временная диаграмма.