Скажем, у меня в MATLAB есть следующее:
a(1).b.c = 4;
a(2).b.c = 5;
a(3).b.c = 7;
....
Я хотел бы собрать значения [4 5 7 ...]
в один массив, без зацикливания и в векторизации.
Iпытались:
>> a(:).b.c
# Error: Scalar index required for this type of multi-level indexing.
и
>> a.b.c
# Error: Dot name reference on non-scalar structure.
, но они не работали.Лучшее, что я мог придумать, было:
arrayfun(@(x) x.b.c, a);
, но, насколько я понимаю, arrayfun
это не векторизация , или это так?