资源描述:
《切比雪夫拟合曲线》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、切比雪夫拟合曲线#include#includevoidmain(){intn=101,m=6;doublex[101],y[101],a[7];//intn=101,m=6;for(inti=0;i<=100;i++){x[i]=-1.0+0.02*i;y[i]=atan(x[i]);}intm1,j,l,ii,k,im,ix[21];doubleh[21],ha,hh,y1,y2,h1,h2,d,hm;for(i=0;i<=m;i++)a[i]=0.0;if(m>=n)m=n-1;if(m>=
2、20)m=19;m1=m+l;ha=0.0;ix[0]=0;ix[m]=n-1;l=(n-1)/m;j=l;for(i=1;i<=m-1;i++){ix[i]=j;j=j+l;}while(1==1){hh=1.0;//printf("%d",m);for(i=0;i<=m;i++){a[i]=y[ix[i]];h[i]=-hh;hh=-hh;}printf("ssssssssssssssssssssssssssssssssssssssssssss");///////////////////for(j=1;j<=m;j++
3、){printf("ssssssssssssssssssssssssssssssssssssssssssss");ii=m1;y2=a[ii-1];h2=h[ii-1];for(i=j;i<=m;i++){printf("ssssssssssssssssssssssssssssssssssssssssssss");d=x[ix[ii-l]]-x[ix[m1-i-l]];y1=a[m-i+j-1];h1=h[m-i+j-1];a[ii-1]=(y2-y1)/d;h[ii-1]=(h2-h1)/d;ii=m-i+j;y2=y1
4、;h2=h1;}}hh=-a[m]/h[m];for(i=0;i<=m;i++){a[i]=a[i]+h[i]*hh;}////////////////////////for(j=1;j<=m-1;j++){ii=m-j;d=x[ix[ii-1]];y2=a[ii-1];for(k=m1-j;k<=m;k++){y1=a[k-1];a[ii-1]=y2-d*y1;y2=y1;ii=k;}}//printf("ssssssssssssssssssssssssssssssssssssssssssss");hm=fabs(hh);if(
5、hm<=ha){a[m]=-hm;return;}//printf("ssssssssssssssssssssssssssssssssssssssssssss");a[m]=hm;ha=hm;im=ix[0];h1=hh;j=0;////printf("ssssssssssssssssssssssssssssssssssssssssssss");for(i=0;i<=n-1;i++){if(i==ix[j]){if(j=0;k--)h2=h2*x[i]+a[
6、k];h2=h2-y[i];if(fabs(h2)>hm){hm=fabs(h2);h1=h2;im=i;}}}if(im==ix[0])return;i=0;l=1;while(l==1){l=0;if(im>=ix[i]){i=i+1;if(i<=m)l=1;}}if(i>m)i=m;if(i==(i/2)*2)h2=-hh;elseh2=hh;if(h1*h2>=0.0)ix[i]=im;else{if(im=0;j--)ix[j+1]=ix[j];ix[0]=im;}else{if(
7、im>ix[m]){for(j=1;j<=m;j++)ix[j-1]=ix[j];ix[m]=im;}elseix[i-1]=im;}}}for(i=0;i<=5;i++)printf("a(%2d)=%e",i,a[i]);printf("");printf("MAX(p-f)=%e",a[6]);}