Como concatenar resultados de múltiplas estruturas verticalmente?

Se eu tiver matriz de estrutura e acessá-lo com o índice de matriz, obtenho vários anses.

>> 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

Qual é a natureza desse resultado? Posso gerá-lo de outra maneira?

Por exemplo, posso escrever minha própria função ou procedimento, o que retornará esse resultado?

Por que a atribuição desse resultado fornece o primeiro elemento, não o último, como nas listas?

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

b =

     1
     2

Se eu colocar esse resultado entre parênteses, obtenho a concatenação horizontal automática.

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

Qual é o nome dessa sintaxe?

Como fazer concatenação vertical?

questionAnswers(1)

yourAnswerToTheQuestion