Действие 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, идентифицирован как переменная пользовательского кода.