索引/访问MATLAB嵌套结构

时间:2019-03-27 07:48:31

标签: matlab indexing matlab-struct

希望我没有创建重复项,但是到目前为止,我没有找到解决问题的正确答案。

比方说,我们具有以下结构:

a(1).b = 1;
a(1).x.y = 2;

a(2).b = 3;
a(2).x.y = 4;

当我现在尝试获取b的所有值时,我可以这样做:

>> a(:).b

ans = 1
ans = 3

但是如何使用嵌套结构.x.y呢?

>> a(:).x.y
  

大括号或点索引表达式的预期输出为1,但有2个结果。

感谢您的帮助...!

1 个答案:

答案 0 :(得分:5)

只需遍历索引即可。

>> arrayfun(@(k) a(k).x.y, 1:numel(a))

ans =

     2     4

或:

>> struct2array(cell2mat(extractfield(a,'x')))

ans =

     2     4