Как объединить несколько результатов структуры по вертикали?

Если у меня есть структурный массив и доступ к нему по матричному индексу, я получаю несколько ответов.

>> a=struct([])

a = 

0x0 struct array with no fields.

>> a(1).f1=[1;2]

a = 

    f1: [2x1 double]

>> a(2).f1=[1;2;3]

a = 

1x2 struct array with fields:

    f1

>> a([1 2]).f1

ans =

     1
     2


ans =

     1
     2
     3

Какова природа этого результата? Могу ли я создать его другим способом?

Например, могу ли я написать свою собственную функцию или процедуру, которая будет возвращать такой результат?

Почему присвоение этого результата дает первый элемент, а не последний, как в списках?

>> b=a([1 2]).f1

b =

     1
     2

Если я заключу такой результат в скобки, я получу автоматическую горизонтальную конкатенацию.

>> [a([1 2]).f1]
Error using horzcat
Dimensions of matrices being concatenated are not consistent.

Как называется этот синтаксис?

Как сделать вертикальную конкатенацию?

Ответы на вопрос(1)

Ваш ответ на вопрос