1、最小二乘法-曲线拟合 C语言程序,经测试正确#include#include#includefloat cf(int i,float f) float g=1.0; while(i-) g*=f; return g;void ColPivot(float a9999, int n, float b991,float x99)float max,m,temp;int k,q=0,i,j,I;for(k=0;kn & q=0;k+) max=akk; for(i=k+1;in;i+) if(fabs(max)fabs(aik) max=aik; I=i; if(max=0) q=1; else i
2、f(I!=k) temp=bI0; bI0=bk0; bk0=temp; for(j=k;jn;j+) temp=aIj; aIj=akj; akj=temp; for(i=k+1;in;i+) m=aik/akk; bi0=bi0-bk0*m; for(j=0;j=0;i-) for(j=n-1;j=i+1;j-) bi0=bi0-aij*xj; xi=bi0/aii;void main()float x99,y99,z99,s9999,t991; int n,m,i,j,k; printf(n=); scanf(%d,&n); printf(m=); scanf(%d,&m); print
3、f(y%=,n); for(i=0;in;i+) scanf(%f,&yi); printf(z%d=,n); for(i=0;in;i+) scanf(%f,&zi); for(i=0;i=m;i+) for(j=0;j=m;j+) sij=0.0; for(k=0;k=n-1;k+) sij+=cf(i+j,yk); ti0=0.0;for(j=0;j=n-1;j+) ti0+=zj*cf(i,yj); for(i=0;i=m;i+) sim+1=ti0;for(i=0;i=m;i+) for(j=0;j=m+1;j+) printf(%ft,sij); printf(n);ColPivot(s,m+1,t,x);printf(nn);for(i=0;i=m;i+)printf(na%d=%f,i,xi);printf(nn);