commonfields = fieldnames(data{1});
for cidx = 2:numel(data)
commonfields = intersect(commonfields, fieldnames(data{cidx}));
end
trimmeddata = cell(size(data));
for cidx = 1:numel(data)
scell = struct2cell(data{cidx});
[tokeep, fieldindex] = ismember(fieldnames(data{cidx}), commonfields);
trimmeddata{cidx} = cell2struct(scell(tokeep, :), commonfields(fieldindex(tokeep)), 1);
end
merged = [trimmeddata{:}];
Best Answer