Indexing/Accessing MATLAB 嵌套结构

Indexing/Accessing MATLAB nested structure

希望我没有创建副本,但到目前为止我还没有找到解决问题的正确答案。

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

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

Expected one output from a curly brace or dot indexing expression, but there were 2 results.

感谢您的帮助...!

只需遍历索引即可。

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

ans =

     2     4

或:

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

ans =

     2     4