《最小二乘曲线拟合程序》由会员分享,可在线阅读,更多相关《最小二乘曲线拟合程序(9页珍藏版)》请在金锄头文库上搜索。
1、如:根据数据表,用最小二乘法求三次多项式拟合这组数据。数据表01234562.521355.543#icludet#ncud coni.h#include stlb.h#include mah.h#defineNdfi M2eie K *Moid zhuyn(int k,it n,lo aM+1M) in t,,j; float ,y; x=fabs(akk);tk;or (i=+1;in;i+)f (fas(ai)x) xfbs(ik);=;or (=k;j=n+1;+) y=kj;akj=aj;atjy;void xiaoyan(t n,floa aM+1M+2) ,i,j; or(0;i
2、;i+) zhyuan(i,,a); f (j=i+1;j=;j+) fr (k=+;n+1;+) jk=ajk-ajiaikai; void hudai(intn,float a+1,foat M+) int i,;xnnn+1an;r (i=n;=;-) x=ain+; fr(j=i;j=n;j+) x=x-aj*xj; xi=xiaii; oi ai()float xyN,A+,NM+,AK+,BBM+1,aM+1+2,m+1;in i,n;prnf(Pease qdn,N);or(i=0;N;+)pitf(x%d yd):,i,i);scanf(%f f,&xy0,&_yi1);for
3、(i0;iN;i+)Ai0=1;for(j=1;j=;j+)Aij=Aij-1*i0;for(j;j=;j+)B=Aij*xyi;fo(=0;j=K;j+)r(AAj=,=0;iN;i+)Aj=j;r(j=0;j=;+)for(Bj0,i=;i;i+)BBj+=Bij;fo(i=0;iM1;)a+1=;for(j=0;=M;j+)aijAAi+j;n=M;prinf(系数矩阵是n);fr(i=0;=n;i+)for(j0;=n+1;j+) printf(% ,aij); print(n);xoya(n,a); huidai(n,a,m);printf(曲线方程是:y()=%g,m0);o(i=1;n;+)pntf( + %g,m);for(j=0;ji;+)prif(*X); 输入数据表中旳数据,运营成果如下: