MATLAB: Merge cell arrays in a loop

combine cell array loop

Hi, I'm loading cell arrays from a folder and want them to combine into one cell array. This should happen in a loop. The folders contain different number of cell arrays. The command to merge cell arrays is C4 = [C1; C2; C3] but how can I use it im my code?
Thanks a lot in advance!
if
% Select input folder
d = uigetdir('M:\P\','Select Input-folder');
% Change current folder
cd(d);
% List all .mat files.
list = dir('*.mat');
l = length(list);
for k = 1: length(list)
% Load .mat files.
load(list(k).name);
end

Best Answer

The trick is to load each .mat file into a structure, which you can then access the fields of:
C = cell(1,numel(list);
for k = 1:numel(list)
S = load(list(k).name);
C{k} = S.field;
end
And avoid slow ugly code that creates or accesses lots of numbered variables: https://www.mathworks.com/matlabcentral/answers/304528-tutorial-why-variables-should-not-be-named-dynamically-eval