Join matrices in for loop

I am importing several files in matlab which are in csv format. Each of these files has two columns. So when I import the first one I create a matrix with two columns. therefore I would like to join this 2 column matrices in one matrix. I would like to do that in a for loop.
My code is the following:
files=dir('*.csv');
Data=[];
for i=1:length(files)
fid(i)=fopen(files(i).name);
files(i).values=textscan(fid(i), '%f %f','delimiter',',','HeaderLines',20,'MultipleDelimsAsOne',1);
A=cell2mat(files(i).values);
end
In my code each time the matrix A is a two column matrix. So I would like to join all the A matrices.

 Accepted Answer

files=dir('*.csv');
A=[];
for i=1:length(files)
fid(i)=fopen(files(i).name);
files(i).values=textscan(fid(i), '%f %f','delimiter',',','HeaderLines',20,'MultipleDelimsAsOne',1);
A=[A;cell2mat(files(i).values)];
end

1 Comment

Thank you very much for the answer. It was so easy to implement....
Only one notice it should be
A=[A cell2mat(files(i).values)];
The semicolon must be removed

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!