Как и в MATLAB ®, структуры подструктур и полей в функциональных блоках MATLAB индексируются с помощью точечной нотации. Однако для создания кода из MATLAB необходимо ссылаться на значения полей по отдельности (см. Определение структуры для создания кода).
Например, в примере Структуры в функциональном блоке MATLAB функция MATLAB использует точечную нотацию для индексирования полей и подструктур:
function [outbus, outbus1] = fcn(inbus)
%#codegen
substruct.a1 = inbus.ele3.a1;
substruct.a2 = int8([1 2;3 4]);
mystruct = struct('ele1',20.5,'ele2',single(100),
'ele3',substruct);
outbus = mystruct;
outbus.ele3.a2 = 2*(substruct.a2);
outbus1 = inbus.ele3;В следующей таблице показано, как программное обеспечение генерации кода разрешает символы в точечной нотации для индексирования элементов структур в этом примере:
| Точечная нотация | Разрешение символов |
|---|---|
substruct.a1 | Область a1 локальной структуры substruct |
inbus.ele3.a1 | Значение поля a1 поля ele3, подструктура ввода структурыinbus |
inbus.ele3.a2(1,1) | Значение в строке 1, столбце 1 поля a2 поля ele3, подструктура ввода структуры inbus |