Данные переменного размера - это данные, размер которых может изменяться во время выполнения. Напротив, данные фиксированного размера - это данные, размер которых известен и заблокирован во время компиляции и не изменяется во время выполнения. Используйте данные переменного размера, если выходные данные диаграммы Stateflow ® в модели Simulink ® представляют собой массив, размер которого зависит от состояния диаграммы.
Поддержка данных переменного размера включена по умолчанию. Чтобы включить или отключить этот параметр для отдельных диаграмм, измените свойство диаграммы Support variable-size arrays (поддержка массивов переменного размера), как описано в разделе Specify Properties for Stateflow Charts.
После включения поддержки на уровне диаграммы можно объявить данные переменного размера, выполнив следующие действия.
Добавьте объект данных в диаграмму, как описано в разделе Добавление данных потока состояний.
Задать свойство Scope как Local, Input, или Output.
Примечание
Диаграммы, использующие C в качестве языка действий, не поддерживают локальные данные переменного размера.
Установите флажок Размер переменной.
Свойство Size используется для явного указания максимального размера данных. Например, чтобы задать матрицу 2-D, где максимальный размер равен 2 для первого размера и 4 для второго размера, в поле Размер введите [2 4].

Диаграммы статусов, использующие MATLAB ® в качестве языка действий, могут обращаться к входным, выходным и локальным данным переменного размера и изменять их в действиях состояния и перехода.
Напротив, диаграммы, использующие C в качестве языка действий, могут обмениваться только входными и выходными данными переменного размера с другими диаграммами и блоками Simulink с помощью:
Функции MATLAB
Функции симулятора
Таблицы истинности, использующие MATLAB в качестве языка действий
При использовании данных переменного размера в диаграмме C применяются следующие рекомендации.
Объявить данные переменного размера только как входные и выходные данные диаграммы, а не как локальные данные.
Чтобы определить входные данные диаграммы переменного размера, которые наследуют их размер от модели Simulink, задайте для свойства Размер значение -1.
Все вычисления с данными переменного размера должны выполняться внутри функций, а не непосредственно в состояниях или переходах.
Можно передавать данные переменного размера в качестве входов и выходов в эти функции из действий состояния и перехода. Кроме того, функции MATLAB могут обращаться непосредственно к данным на уровне диаграммы переменного размера.