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!