В этом примере показано, как индексировать структуру, вложенную в другую структуру. Общий синтаксис для доступа к данным в определенном поле:
structName(index).nestedStructName(index).fieldName(indices)
Если структура является скалярной (1 на 1), нет необходимости включать индексы для ссылки на отдельный элемент. Например, создайте скалярную структуру s, где поле n - вложенная скалярная структура с полями a, b, и c:
s.n.a = ones(3); s.n.b = eye(4); s.n.c = magic(5);
Доступ к третьей строке поля b:
third_row_b = s.n.b(3,:)
Переменная third_row_b содержит третью строку eye(4).
third_row_b =
0 0 1 0Расшириться s чтобы оба s и n являются нескалярными (1 на 2):
s(1).n(2).a = 2*ones(3); s(1).n(2).b = 2*eye(4); s(1).n(2).c = 2*magic(5); s(2).n(1).a = '1a'; s(2).n(2).a = '2a'; s(2).n(1).b = '1b'; s(2).n(2).b = '2b'; s(2).n(1).c = '1c'; s(2).n(2).c = '2c';
Структура s теперь содержит данные, показанные на следующем рисунке.

Доступ к части массива в поле b второго элемента в n в пределах первого элемента s:
part_two_eye = s(1).n(2).b(1:2,1:2)
Это возвращает верхний левый угол 2 на 2 2*eye(4):
part_two_eye =
2 0
0 2