MATLAB: How to continuously write to a file by using a loop

loop and fprintfslapping my forehead

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.

Best Answer

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).