Используйте массивы в действиях

Обозначение массивов

Действие Stateflow® в графике C использует синтаксис стиля C и основанную на нуле индексацию по умолчанию к элементам массива доступа. Этот синтаксис отличается от обозначения MATLAB®, которое использует индексацию на основе одну. Например, предположите, что вы задаете вход Stateflow A размера [3 4]. Чтобы получить доступ к элементу в первой строке, втором столбце, используют выражение A[0][1]. Другие примеры основанной на нуле индексации в графиках C включают:

local_array[1][8][0] = 10;

local_array[i][j][k] = 77;

var = local_array[i][j][k];

Примечание

Используйте то же обозначение для доступа к массивам в графиках C из моделей Simulink®, и из пользовательского кода.

Как исключение к основанной на нуле индексации, скалярное расширение доступно. Этот оператор присваивает значение 10 ко всем элементам массива local_array.

local_array = 10;

Скалярное расширение доступно для выполнения общих операций. Этот оператор допустим, если массивы array_1, array_2 и array_3 имеют то же значение для свойства Sizes.

array_1 = (3*array_2) + array_3;

Массивы и пользовательский код

C графики обеспечивают тот же синтаксис для массивов Stateflow и массивов пользовательского кода.

Примечание

Любая переменная типа массив, которая упомянута в C, строит диаграмму, но не задан в иерархии Stateflow, идентифицирован как переменная пользовательского кода.