MATLAB Answers

save txt file in loop

70 views (last 30 days)
tony kevine
tony kevine on 11 Apr 2015
Commented: tony kevine on 12 Apr 2015
a1=magic(2);
a2=magic(3);
a3=magic(4);
if i assume a1 a2 a3 and i want to save them to txt file Individually how to write it in loop .
like this a1.txt a2.txt a3.txt
i really need help because i have 50s need to save .it too huge.!!
for i=1:3 save end

  1 Comment

Stephen Cobeldick
Stephen Cobeldick on 11 Apr 2015
Whatever you do, do not try to create fifty dynamically named variables! This is a bad programming practice, and should be avoided.
Here is an explanation of why dynamically named variables is a poor programming practice:

Sign in to comment.

Answers (3)

Jan
Jan on 11 Apr 2015
Avoid hiding an index in the name of the variables. Then the solution is easy:
a = cell(1, 3);
a{1} = magic(2);
a{2} = magic(3);
a{3} = magic(4);
for ia = 1:numel(a)
save(sprintf('File%d.mat'm ia), a{ia});
end

  1 Comment

tony kevine
tony kevine on 12 Apr 2015
tks!!

Sign in to comment.


Chris McComb
Chris McComb on 11 Apr 2015
You could do something like this using the dlmwrite function:
for i=1:1:50
dlmwrite(sprintf('%d.txt', i), magic(i));
end
This will save the first 50 magic matrices to text files named 1.txt, 2.txt, 3.txt, etc.

  1 Comment

tony kevine
tony kevine on 12 Apr 2015
tks!!

Sign in to comment.


tony kevine
tony kevine on 12 Apr 2015
thanks so much!!

  0 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!