Индексируйте подструктуры и поля

Как в MATLAB®, вы индексируете подструктуры и полевые структуры в блоках MATLAB Function при помощи записи через точку. Однако для генерации кода из MATLAB, вы должны значения поля ссылки индивидуально (см. Определение Структуры для Генерации кода).

Например, в emldemo_bus_struct модели, описанной в Сигналах Шины Присоединения к блокам MATLAB function, функция 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, подструктура структуры inputinbus
inbus.ele3.a2(1,1)Значение в строке 1, столбце 1 поля a2 из поля ele3, подструктура входа inbus структуры

Связанные примеры

Больше о