How do I continuously write to a file by using a loop?

16 views (last 30 days)
Hello, I have a question about continuously writing to a file, not over writing by using a loop.
For simple example, I have a code as below:
for i=1:5
a=i;
b=a*2;
AA = [a; b];
fileID = fopen('AB.txt','w');
fprintf(fileID,'a','b');
fprintf(fileID,'%12.8f %12.8f\n',AA);
fclose(fileID);
end
I want AB.txt to have all the values like a=[1 2 3 4 5] and b=[2 4 6 8 10]
However, above code will only write a=5 and b=10, and i guess this is due to overwriting.
1. How can I get the data continuously? I have to use the loop.. Above is just a very simple example.
2. If I only want the values of a to be on the text file, how should I make the code?(the examples I could find always have two sets(a & b) of data.

Accepted Answer

Geoff Hayes
Geoff Hayes on 26 Jan 2016
Edited: Geoff Hayes on 26 Jan 2016
Open the file and write the header outside of the for loop. Then within the loop, write the two elements to file. Then, once all iterations have completed, close the file (again outside of the for loop).
  2 Comments
yc j
yc j on 26 Jan 2016
damn.... I feel like an idiot...
Thank you very much for the answer!

Sign in to comment.

More Answers (0)

Categories

Find more on Programming 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!