Matlab:如何合并struct数组字段的值

时间:2016-01-08 10:42:41

标签: arrays matlab struct

是否可以轻松地将struct数组字段中的值组合到单个数组中,而无需遍历数组中的每个单独结构?

供参考,请参阅随附的代码:

% build random struct array with only one field
% for demonstration only
clear i s out;
for i = 1:10
    s(i).value = rand;
end
s

% not working, as it returns multiple results
s(1:end).value

% combine all "value" into a single array using for-loop
out = zeros(length(s), 1);
for i = 1:length(s)
    out(i) = s(i).value;
end
out

简单地说,目标是实现"合并"所有"价值"字段。

1 个答案:

答案 0 :(得分:2)

您可以使用以下方式获取它:

out = [s.value]

s.value会返回所有值,而[...]会返回它们的数组。