fprintf \n not working properly
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hi all, im trying to print out some data into a specific format so it can be read into another program. The code i am enacting centers around this loop:
%Write section data
for i=1:nsections
fprintf(fileID2,'SECTION %1.0f\n',i);
row_start_index = 1 + (i-1)*54;
for j=1:npoints
row_index = row_start_index+(j-1);
fprintf(fileID2,'%12.8f %12.8f %12.8f %12.8f %12.8f \n',Data(row_index,1),Data(row_index,2),Data(row_index,3),Data(row_index,4),Data(row_index,5),Data(row_index,6));
end
end
The output should look like (ignore the 1. 2. 3. 4. ... some forum formatting thing)
Section 1
- # # # # #
- # # # # #
- # # # # #
- # # # # #
Section 2
- # # # # #
- # # # # #
- # # # # #
- # # # # #
and so on
but actually what i get is this:
Section 1
- # # # #
- # # # # #
- # # # # #
- # # # # #
- #Section 2
- # # # #
- # # # # #
- # # # # #
- # # # # #And so on..
it appears everything is shifted over by 1 number somehow.
I should mention i have played with /r/n and opening the file with the "wt" command
Anyone know why this is happening?
Any help would be greatly appreciated !
Thanks
Tyler
1 Commento
Guillaume
il 6 Ott 2014
To stop Answers from replacing your first # by a numbered list, write it as #
Risposta accettata
Oleg Komarov
il 6 Ott 2014
You are printing a 5 column row:
'%12.8f %12.8f %12.8f %12.8f %12.8f \n'
but supplying 6 datatpoints:
Data(row_index,1),Data(row_index,2),Data(row_index,3),Data(row_index,4),Data(row_index,5),Data(row_index,6)
which you can write as
Data(row_index,1:6)
3 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Variables 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!