fprintf \n not working properly
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
Guillaume
2014-10-6
To stop Answers from replacing your first # by a numbered list, write it as #
采纳的回答
Oleg Komarov
2014-10-6
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 个评论
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!