MATLAB: Write vector to txt in a loop

loop

Good afternoon.
I want to write a numbers of vectors to txt in a loop using dlmwrite. For example:
for n=1:a
x=(1,n,3)
dlmwrite('abc_n_y.txt',x,…)
the vector is updating everytime and replace the previous value in each loop while I hope that the name of the .txt will also update in each loop otherwise the old .txt will be replaced by the new one. But in this case the n in 'abc_n_y.txt' is obviously be treated as a character rather than a variable. Can anyone gives some help to me?
Many thanks!

Best Answer

This is efficient than writing in a loop:
x=cell(1,a);
for n=1:a
x{n}=[1,n,3];
end
x=[x{:}];
dlmwrite('abc_n_y.txt',x,'delimiter',' ')
for n=1:a
x=[1,n,3];
filename=sprintf('abc_%d_y.txt',n)
dlmwrite(filename,x,'delimiter',' ')
end