Данные переменного размера являются данными, размер которых может измениться во время выполнения. Напротив, данные фиксированного размера являются данными, размер которых известен и блокируется во время компиляции и не изменяется во время выполнения. Используйте данные переменного размера, если вывод из графика Stateflow® в модели Simulink® является массивом, размер которого зависит от состояния графика.
Диаграммы Stateflow обмениваются данными переменного размера с другими графиками и блоками в их моделях через функции MATLAB®, функции Simulink и таблицы истинности, которые используют MATLAB в качестве языка действия. Вы передаете данные переменного размера этим функциям как вводы и выводы уровня графика от логики перехода и актов государственной власти. Однако необходимо выполнить все вычисления с данными переменного размера в функциях, не непосредственно в состояниях или переходах. Для получения дополнительной информации о функциях, которые взаимодействуют с переменным размером, вводами и выводами уровня графика, см.:
Поддержка данных переменного размера включена по умолчанию. Изменить эту опцию для отдельных графиков:
Щелкните правой кнопкой по открытой области графика и выберите Properties.
В диалоговом окне Свойств диаграммы выберите или снимите флажок Support variable-size arrays.
После включения поддержки на уровне графика можно объявить вводы и выводы переменного размера.
Добавьте, что объект данных к графику, как описано в Добавляют Данные Stateflow.
Установите свойство Scope как Input
или Output
.
Установите флажок Variable size.
Установите свойство Size для данных.
Осциллограф | Что задать |
---|---|
Input | Введите |
Output | Задайте явный размер и верхнюю границу. |
Например, эта спецификация объявляет вход data
переменного размера, который наследовал его Size и Type из модели Simulink. Чтобы задать 2D матрицу, где верхние границы 2 для первой размерности и 4 для второго измерения в поле Size, вводят [2 4]
вместо этого.
Объявите данные переменного размера как вводы и выводы графика только, не как локальные данные.
Не выполняйте вычисления с данными переменного размера непосредственно в состояниях или переходах.
Выполните все вычисления с данными переменного размера в функциях MATLAB, функциях Simulink и таблицах истинности, которые используют MATLAB в качестве языка действия.
Можно передать данные как вводы и выводы в MATLAB и функции Simulink в графике от логики перехода и актов государственной власти. Функции MATLAB могут также получить доступ к уровню графика, данные переменного размера непосредственно. Для получения дополнительной информации смотрите, Вычисляют Вывод На основе Размера Входного сигнала.