Write data from for loop into a file
6 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I want to write a file that displays the following output:
period 1 step 1
save
period 1 step 2
save
period 2 step 1
save
The for loop creates the correct output I want but creates an empty .txt file.
for i=1:951
for j=1:2
s=fprintf('period %d step %d \n\tsave\n',i,j);
end
end
fileID = fopen('SA_SP951.txt','w');
fprintf(fileID,s);
fclose(fileID);
0 Commenti
Risposta accettata
Stephen23
il 17 Ott 2018
Modificato: Stephen23
il 17 Ott 2018
You need to open the file before the loop, print the text inside the loop, and close the file after the loop:
[fid,msg] = fopen('SA_SP951.txt','wt');
assert(fid>=3,msg)
for ii = 1:951
for jj = 1:2
fprintf(fid, 'period %d step %d \n\tsave\n', ii, jj)
end
end
fclose(fid);
Or alternatively you could collect the character vectors that you generate inside loop into one array (e.g. a cell array) (which seems to be what you were trying to do), but this would be more complex, less efficient, and has no obvious benefit for your requirements.
0 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Loops and Conditional Statements in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!