跨字段数组访问结构的元素

时间:2013-10-13 10:40:29

标签: matlab data-structures struct field

我有一个名为'data'的1 x 1结构:

 A: [1120x1 double]
 B: [1120x1 double]
 C: [1120x1 double]
 D: [1120x1 double]
 E: [1120x1 double]
 F: [1120x1 double]
 G: [1120x1 double]
 H: [1120x1 double]
 I: [1120x1 double]

我可以访问每个字段的每个元素,例如data.A(1)但需要跨字段访问相同的编号元素而不调用data.A(3),data.B(3),data.C(3)等。有没有一个巧妙的方法来做到这一点?

此外,这也解决了这个问题,是否有一种方法可以改变结构,使每个字段的第n个元素本身成为一个字段,这样结构现在包含1120个字段,每个字段长度为9(As AI = 9)?

1 个答案:

答案 0 :(得分:2)

您可以使用structfun

structfun(@(x) x(3), data)

这将返回一个包含每个字段的第3个元素的数组。