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
希望我没有创建副本,但到目前为止我还没有找到解决问题的正确答案。
比方说,我们有以下结构:
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