MATLAB: Opening multiple fields within the same level of a structure

arraynested structureopen

I have a nested structure which after a couple of levels, reaches a level with each month of the year. Within each of these months I have 8 fields which contain 16×1 arrays of the type double. Is there a command I can use to open all 8 of these arrays in a month and have Matlab display them, rather than having to open them one by one?
Thank you

Best Answer

Hi,
to access the fields of a structure you need to use fieldnames .
data.array1 = rand(16,1);
% ...
data.array8 = rand(16,1)+10;
allarray = fieldnames(data);
for i = 1:length(allarray)
% display array :
fprintf('%s\n',allarray{i})
disp(data.(allarray{i}))
end
and in case of a structure in a structure, you can do a for loop for each level