Vertically concatenate fields in a structure

8 次查看(过去 30 天)
How can I concatenate every field to get a 1 x 1 structure with the same number of fields in a new structure. I've tried this: myVars is a cell array with field names.
for i=1:length(x)
for j=1:length(myVars)
s.(myVars{1,j})=[x(1).(myVars{1,j});x(2).(myVars{1,j});x(3).(myVars{1,j})]; % read/concatenate
end
end
but after run I got this Error using horzcat Dimensions of matrices being concatenated are not consistent.
Which could be a right way to solve this? Thanks

回答(1 个)

Luis Lopez
Luis Lopez 2016-4-14
Solved.
for i=1:length(myVars)
s.(myVars{1,i}) = vertcat(x.(myVars{1,i})); % read/concatenate
end

类别

Help CenterFile Exchange 中查找有关 Structures 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by