How to include counter in the header?
Mostrar comentarios más antiguos
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 comentario
Olha
el 13 de Dic. de 2012
Respuestas (1)
per isakson
el 13 de Dic. de 2012
Editada: per isakson
el 13 de Dic. de 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 comentarios
per isakson
el 13 de Dic. de 2012
See above
Olha
el 13 de Dic. de 2012
per isakson
el 13 de Dic. de 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
el 13 de Dic. de 2012
per isakson
el 17 de Dic. de 2012
Editada: per isakson
el 17 de Dic. de 2012
To help, we need to know exactly what code together with input that gives the unexpected result.
Categorías
Más información sobre Data Import and Analysis en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!