%enter the following cin = 'in'; %control file out = 'out'; %output file %do not write anything below LF=250; LG=20; ntaper=[4 8 15]; s=' '; c='%'; fin=fopen(cin); if fin==-1; disp('failure to open file'); disp(cin); quit; end; fout=fopen(out,'w'); if fout==-1; disp('failure to open file'); disp(out); quit; end; nf=fscanf(fin,'%d',1); ng=fscanf(fin,'%d',1); for j=1:nf; hfile=fscanf(fin,'%s',1); in=fopen(hfile); if in==-1; fprintf(fout, 'failure to open file %s', hfile); quit; end; for i=1:ng; jf=fscanf(in,'%d',1); errcheck1(jf,fout,i,hfile); nuse=fscanf(in,'%d',1); errcheck1(nuse,fout,i,hfile); g(j,i)=fscanf(in,'%lf',1); errcheck1(g(j,i),fout,i,hfile); sdg=fscanf(in,'%lf',1); errcheck1(sdg,fout,i,hfile); sdnum1(j,i)=fscanf(in,'%lf',1); errcheck1(sdnum1(j,i),fout,i,hfile); sdnum2(j,i)=fscanf(in,'%lf',1); errcheck1(sdnum2(j,i),fout,i,hfile); sdnum3(j,i)=fscanf(in,'%lf',1); errcheck1(sdnum3(j,i),fout,i,hfile); sdnum4(j,i)=fscanf(in,'%lf',1); errcheck1(sdnum4(j,i),fout,i,hfile); end; % for ng fclose(in); end; %for nf for i=1:ng; fprintf(fout,'\nMoment %3d\n', i); fprintf(fout,'NSE estimate %10s Mean %10s N.S.E. %9s Equality chi sq\n',s,s,s); for k=1:4; eg=0; nse=0; wtsum=0; if k==1; sdnum=sdnum1; elseif k==2; sdnum=sdnum2; elseif k==3; sdnum=sdnum3; elseif k==4; sdnum=sdnum4; end; gvar=zeros(nf-1); for j=1:nf; eg=eg+g(j,i)/(sdnum(j,i))^2; wtsum=wtsum+1/(sdnum(j,i))^2; end; eg=eg/wtsum; nse=1/sqrt(wtsum); for j=1:nf-2; gvar(j,j)=(sdnum(j,i))^2+(sdnum(j+1,i))^2; gvar(j,j+1)=-(sdnum(j+1,i))^2; gvar(j+1,j)=gvar(j,j+1); end; gvar(nf-1,nf-1)=(sdnum(nf-1,i))^2+(sdnum(nf,i))^2; ginv=inv(gvar); g1=g(1:nf-1,i); g2=g(2:nf,i); cstat=(g2-g1)'*ginv*(g2-g1); global df; df=nf-1; p=1-quad('chisq',0,cstat); if k==1; fprintf(fout,' i.i.d. %6s', s); else; fprintf(fout,'%2d%s taper%4s ',ntaper(k-1),c,s); end; fprintf(fout,'%3s%16.7e %16.7e %3s %16.7e\n',s,eg,nse,s,p); end; end; fclose(fin); fclose(fout); quit;