Как объединить несколько результатов структуры по вертикали?
Если у меня есть структурный массив и доступ к нему по матричному индексу, я получаю несколько ответов.
>> 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.
Как называется этот синтаксис?
Как сделать вертикальную конкатенацию?