How to include counter in the header?
Show older comments
Hi, I have a big amount of data stored in my file. It has to be formatted in a specific way. After each iteration I have to include G54D and number of iteration, like this G54D11, G54D12...But what I have now is this:
G54D
x 0y-18834D03*
x-69978y-51185D03*
x-18678y 18834D03*
x 51300y 70020D03*
G54D
x 0y 1949D03*
x-22629y-45893D03*
Could you please help to include counter in the header? Code I am using now is:
ct=11; while n<nmax for n=n:nmax; rn=(sqrt(2*n*f*lambda+n^2*lambda^2)); w=(lambda*f/2/rn); d=1.53096*w; phi=asin((d/2)/rn); num=floor(fillfactor/phi); gap=2*(pai/(num-1)-phi); a=rand; theta(1)=pai*a; for i=2:num; theta(i)=theta(i-1)+gap+2*phi; x(i)=1000000*rn*cos(theta(i)); y(i)=1000000*rn*sin(theta(i)); end; ct=ct+1 fileID = fopen('matrix.txt','a+' ); formatSpec = 'x%6.0fy%6.0fD03*\n' fprintf(fileID,'%7s\n','G54D'); fprintf(fileID,'x%6.0fy%6.0fD03*\n',x,y); fclose(fileID); end end;
Thanks!
1 Comment
Olha
on 13 Dec 2012
Answers (1)
per isakson
on 13 Dec 2012
Edited: per isakson
on 13 Dec 2012
fprintf( fileID, '%7s%2d\n','G54D', ct );
.
[EDIT] Small test
ct = 11;
fprintf( 1, '%7s%2d\n','G54D', ct );
outputs
G54D11
to the command window
6 Comments
per isakson
on 13 Dec 2012
See above
Olha
on 13 Dec 2012
per isakson
on 13 Dec 2012
"strange symbols" might be caused by a problems with the class of the value of the variable, ct. Set a breakpoint and try
class( ct )
or add the line
class( ct )
before the print statement.
Olha
on 13 Dec 2012
per isakson
on 17 Dec 2012
Edited: per isakson
on 17 Dec 2012
To help, we need to know exactly what code together with input that gives the unexpected result.
Categories
Find more on Data Import and Analysis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!