Индексируйте подструктуры и поля
Используйте эти инструкции при индексации подструктур и полей для генерации кода:
Ссылочные значения полей подструктуры индивидуально с помощью записи через точку
Например, следующий код 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 оценивает во время выполнения (см., Генерируют Имена полей от Переменных (MATLAB)).