MATLAB: Fprintf \n not working properly

fprintf

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
  1. # # # # #
  2. # # # # #
  3. # # # # #
  4. # # # # #
Section 2
  1. # # # # #
  2. # # # # #
  3. # # # # #
  4. # # # # #
and so on
but actually what i get is this:
Section 1
  1. # # # #
  2. # # # # #
  3. # # # # #
  4. # # # # #
  5. #Section 2
  6. # # # #
  7. # # # # #
  8. # # # # #
  9. # # # # #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

Best Answer

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)