Индексируйте подструктуры и поля
Используйте следующие инструкции при индексации подструктур и полей для генерации кода:
Ссылка на значения поля подструктуры индивидуально с помощью записи через точку
Для примера, следующий MATLAB® код использует запись через точку в индексные поля и подструктуры:
Сгенерированный код индексирует элементы структур в этом примере путем разрешения символов следующим образом:
Запись через точку | Разрешение символа |
---|
substruct1.a1 | Полевые a1 локальной структуры substruct1 |
substruct2.ele3.a1 | Значение полевого a1 полевых ele3 , подструктура локальной структуры substruct2 |
substruct2.ele3.a2(1,1) | Значение в строке 1, столбец 1 поля a2 полевых ele3 , подструктура локальной структуры substruct2 |
Ссылка на значения полей по отдельности в массивах структур
Чтобы ссылаться на значение поля в массиве структур, вы должны индексировать в массив к структуре, представляющей интерес, и затем ссылаться на поле этой структуры индивидуально с помощью записи через точку, как в этом примере:
Чтобы ссылаться на все значения конкретного поля для каждой структуры массива, используйте это обозначение в for
цикл, как в этом примере:
Этот пример использует repmat
функция для определения массива структур с двумя полями a
и b
как определено s
. Дополнительные сведения см. в разделе «Определение массивов структур для генерации кода».
Не ссылаться на поля динамически
Вы не можете ссылаться на поля в структуре с помощью динамических имен, которые выражают поле как выражение переменной, которое MATLAB оценивает во время выполнения (см. «Генерация имен полей из переменных»).