我有一个结构数组,其中每个值都是一个数字,我想将这些结构连接为一个。
示例:
S是结构数组,每个元素都具有相同的结构
S(1).a = 1
S(1).b.c = 1
S(1).b.d = 2
S(2).a = 2
S(2).b.c = 3
S(2).b.d = 4
cat(S)应该是具有以下字段的结构“ CAT”:
CAT.a = [1 2]
CAT.b.c = [1 3]
CAT.b.d = [2 4]
答案 0 :(得分:0)
我没有找到任何可实现此目的的matlab函数,因此我对该函数进行了编程:
function out = catStruct(in)
% cat structure field per field
if isstruct(in)
for f = fields(in)'
out.(f{:}) = catStruct([in.(f{:})]);
end
else
out = in;
end
end
如果我做CAT = catStruct(S),我会得到想要的东西。