## Access Data in Nested Structures

This example shows how to index into a structure that is nested within another structure. The general syntax for accessing data in a particular field is

`structName(index).nestedStructName(index).fieldName(indices)`

When a structure is scalar (1-by-1), you do not need to include the indices to refer to the single element. For example, create a scalar structure `s`, where field `n` is a nested scalar structure with fields `a`, `b`, and `c`:

```s.n.a = ones(3); s.n.b = eye(4); s.n.c = magic(5);```

Access the third row of field `b`:

`third_row_b = s.n.b(3,:)`

Variable `third_row_b` contains the third row of `eye(4)`.

```third_row_b = 0 0 1 0```

Expand `s` so that both `s` and `n` are nonscalar (1-by-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';```

Structure `s` now contains the data shown:

Access part of the array in field `b` of the second element in `n` within the first element of `s`:

`part_two_eye = s(1).n(2).b(1:2,1:2)`

This returns the 2-by-2 upper left corner of `2*eye(4)`:

```part_two_eye = 2 0 0 2```