How to include counter in the header?
古いコメントを表示
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 件)
per isakson
2012 年 12 月 13 日
編集済み: per isakson
2012 年 12 月 13 日
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 件のコメント
per isakson
2012 年 12 月 13 日
See above
Olha
2012 年 12 月 13 日
per isakson
2012 年 12 月 13 日
"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
2012 年 12 月 13 日
per isakson
2012 年 12 月 17 日
編集済み: per isakson
2012 年 12 月 17 日
To help, we need to know exactly what code together with input that gives the unexpected result.
カテゴリ
ヘルプ センター および File Exchange で Data Import and Analysis についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!