实验名称:曲线拟合的最小二乘法实验目的了解曲线拟合的最小二乘法实验类型设计型实验环境WindowsXP TC实验内容相关知识:已知C[a,b]中函数f(x)的一组实验数据(xi,yi)(i=0,1,…,m),其中yi=f(xi)。设是C[a,b]上线性无关函数族。在中找函数f(x)曲线拟合的最小二乘解,其法方程(组)为:其中,k=0,1,…,n特别是,求函数f(x)曲线拟合的线性最小二乘解的计算公式为:数据结构:两个一维数组或一个二维数组算法设计:(略)实验用例:已知函数y=f(x)的一张表: 试验要求:利用曲线拟合的线性最小二乘法求被逼近函数f(x)在点x=55处的近似值,并画出实验数据和直线。编写代码:#include<>#include<>#include<>doubleqiuhe1(doublea[10][2],intp){inti;doubley;y=0;for(i=0;i<10;i++)y=y+a[i][p];returny;}doubleqiuhe2(doublea[10][2],intp){inti;doubley=0;for(i=0;i<10;i++)y=y+a[i][0]*a[i][p];returny;}doublenihe(doublea[10][2],doublex){doublea1,b,y;a1=(10*qiuhe2(a,1)-qiuhe1(a,0)*qiuhe1(a,1))/(10*qiuhe2(a,0)-qiuhe1(a,0)*qiuhe1(a,0));b=(qiuhe2(a,0)*qiuhe1(a,1)-qiuhe1(a,0)*qiuhe2(a,1))/(10*qiuhe2(a,0)-qiuhe1(a,0)*qiuhe1(a,0));y=a1*x+b;returny;}intmain(){doublea[10][2]={0,68,10,,20,,30,,40,,50,,60,,70,,80,,90,60};doublex,x1,q=1;charc[12];inti;longn;intarw[6]={515,235,520,240,515,245};intarw1[6]={315,45,320,40,325,45};intgdriver=IBM8514;intgmode=IBM8514HI;initgraph(&gdriver,&gmode,"c:\\TC20\\BGI");cleardevice();printf("inputx:\n");scanf("%lf",&x);printf("%f\n",nihe(a,x));n=nihe(a,x)*1000000+1;c[0]='y';c[1]='='; c[4]='.';for(i=10;i>1;i--){if(i!=4){c[i]=n%10+48; n=n/10; } }c[11]='\0';x1=x;setbkcolor(7);setcolor(14);setlinestyle(0,0,
用c语言实现的曲线拟合的最小二乘法 来自淘豆网www.taodocs.com转载请标明出处.