Concatination over write issue
12 views (last 30 days)
Show older comments
Tessa Aus
on 10 Jan 2018
Commented: Walter Roberson
on 10 Jan 2018
I have code that pulls files successfully except once the first loop is completed fnm is overwritten and the previous files contents disappear. I need to add code that allows each loop to store the file contents(a Matrix). Once the files are saved and the for loop is complete dependent of the size(CatRow)I will concatenate the matrixes together.
%
for ii= 1: CatRow
[num,txt,data] = xlsread(stateTable{ii,1})
fnm = sprintf('file_%d.mat',ii);
save(fnm,'data');
horzcat(fnm's into one matrix)
end
0 Comments
Accepted Answer
Walter Roberson
on 10 Jan 2018
Edited: Walter Roberson
on 10 Jan 2018
all_data = cell(CatRow,1);
for ii= 1: CatRow
[num,txt,data] = xlsread(stateTable{ii,1})
fnm = sprintf('file_%d.mat',ii);
save(fnm,'data');
all_data{ii} = data;
end
big_data = horzcat(all_data{:});
I have to ask whether you really want to horzcat() them together. If they are the same size, more common would be to
big_data = cat(3, all_data{:});
which would concatenate them on the third dimension.
2 Comments
Walter Roberson
on 10 Jan 2018
I had some typing mistakes in what I posted; I have corrected them.
To get a 2 x 1 cell you must have used vertcat() or cat(1) instead of horzcat()
More Answers (0)
See Also
Categories
Find more on Creating and Concatenating Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!