如何将结构数组切割成行而不是列?

时间:2013-03-22 17:31:04

标签: arrays matlab structure

请考虑以下事项。

a(1).x = [1 2 3];
a(2).x = [4 5 6];

[a.x]会给你[1 2 3 4 5 6]

如何轻松获取[1 2 3; 4 5 6]。即例如,不使用重塑。

P.S。语法[a.x;]很酷。

2 个答案:

答案 0 :(得分:9)

你可以使用vertcat:

vertcat(a.x)

ans =

 1     2     3
 4     5     6

答案 1 :(得分:1)

这样做的一种方法是使用struct2cellcell2matsqueeze

>> a(1).x = [1 2 3];
>> a(2).x = [4 5 6];
>> squeeze(cell2mat(struct2cell(a)))'

ans =

     1     2     3
     4     5     6