欢迎来到天天文库
浏览记录
ID:41477352
大小:108.61 KB
页数:5页
时间:2019-08-25
《最小二乘法拟合多项式最初》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验名称用STLAB语言编写最小二乘法拟合曲线实验时间2015年4月29日组长王家鑫班级信科13学号1311710121成绩组员王麒班级信科13学号1311710122成绩组员石奥东班级信科13学号1311710117成绩组员粟艺峰班级信科13学号1311710118成绩一、实验目的,内容四、计算结果的分析二、相关背景知识介绍三、代码和数值结果五、计算中出现的问题,解决方法及体会一实验冃的,内容这次实验主要是运用最小二乘法拟合多项式,并且在图像上与拉格朗日插值法进行比较。二相关背景知识介绍曲线拟合的最小二乘法:S(x)=a(0)g0(x)+a(1)g1(x)
2、+...+a(n)gn(x)(n3、1(n1=1nnXxi•1•1…£护1=11-1l-l<-1a2■■■■••■■■■••••••■1=1nz<+1•••fl…工疔nVYmVi=l1=1丿f=l丿其中n为实验次数,旺」(心1,2,・・‘)为实验数据。m为所求最小二乘拟和多项式S(x)=a0+fljX+...+amxm的次数。步骤2、求解方程组Ax=b(参看最后一页如何求方程组)得到就得到最小二乘拟和多项式S(x)=a()+q工+…+ctmxmclearx=[00.10.20.30.50.81]y=[1.050.420.530.640.952.222.56]A=[7sum(x)sum(x4、.^2)sum(x.x3);sum(x)sum(x•x2)sum(x.x3)sum(x>^4);sum(x.^2)sum(x.^3)sum(x.^4)sum(x.^5);sum(x•人3)sum(x.人4)sum(x•人5)sum(x•八6)]B=[sum(y)sum(x.*y)sum(x.A2.*y)sum(x.A3.*y)]C=B/Az=0:0.00001:1s=c(4)*z.^3+c(3)*z.^2+c(2)*z+c(l)plot(z,s)%3次拟合holdonx=[00.10.20.30.50.81]y=[1.050.420.530.640.952.5、222.56]E=[7zsum(x)zsum(x.'2),sum(x.^3),sum(x•八4)sum(x),sum(x.A2),sum(x.A3),sum(x.A4),sum(x.人5)sum(x.a2)zsum(x.A3),sum(x.A4),sum(x.A5),sum(x.A6)sum(x•八3),sum(x•八4)zsum(x.A5)zsum(x.^6),sum(x.八7)sum(x•人4),sum(x.^5),sum(x.^6),sum(x.^7),sum(x.八8)]F=[sum(y)zsum(x.*y)zsum(x.^2.*y)zsum(x.人6、3•*y)zsum(x.人4•*y)]d=F/Ez=0:0.00001:1t=d(5)*z.x4+d(4)*z.x3+d(3)*z.^2+d(2)*z+d(l)plot(z,t,'r')%4次拟合holdona.=0:0.01:1x=[00.10.20.30.50.81]y=[1.050.420.530.640.952.222.56]n=length(x);z=0;fori=l:ns=l;forj=l:nifj~=is=s.*(a-x(j))./(x(i)-x(j));endendz=z+s*y(i);endzplot(a,z,'black')%拉格朗日插值7、四计算结果分析运行结果五计算中出现的问题、解决方法和体会这次上机实践我们做的是最小二乘法的曲线拟合问题,程序写的比较顺利,利用老师给的步骤写出了止确程序并调试成功,需要注意的有两点:1•矩阵相乘在MATLAB里要在对应字母后加•才可以2.最后运行出结果曲线后3次,4次拟合曲线相似度很高,需用不同颜色标注指导教师:
3、1(n1=1nnXxi•1•1…£护1=11-1l-l<-1a2■■■■••■■■■••••••■1=1nz<+1•••fl…工疔nVYmVi=l1=1丿f=l丿其中n为实验次数,旺」(心1,2,・・‘)为实验数据。m为所求最小二乘拟和多项式S(x)=a0+fljX+...+amxm的次数。步骤2、求解方程组Ax=b(参看最后一页如何求方程组)得到就得到最小二乘拟和多项式S(x)=a()+q工+…+ctmxmclearx=[00.10.20.30.50.81]y=[1.050.420.530.640.952.222.56]A=[7sum(x)sum(x
4、.^2)sum(x.x3);sum(x)sum(x•x2)sum(x.x3)sum(x>^4);sum(x.^2)sum(x.^3)sum(x.^4)sum(x.^5);sum(x•人3)sum(x.人4)sum(x•人5)sum(x•八6)]B=[sum(y)sum(x.*y)sum(x.A2.*y)sum(x.A3.*y)]C=B/Az=0:0.00001:1s=c(4)*z.^3+c(3)*z.^2+c(2)*z+c(l)plot(z,s)%3次拟合holdonx=[00.10.20.30.50.81]y=[1.050.420.530.640.952.
5、222.56]E=[7zsum(x)zsum(x.'2),sum(x.^3),sum(x•八4)sum(x),sum(x.A2),sum(x.A3),sum(x.A4),sum(x.人5)sum(x.a2)zsum(x.A3),sum(x.A4),sum(x.A5),sum(x.A6)sum(x•八3),sum(x•八4)zsum(x.A5)zsum(x.^6),sum(x.八7)sum(x•人4),sum(x.^5),sum(x.^6),sum(x.^7),sum(x.八8)]F=[sum(y)zsum(x.*y)zsum(x.^2.*y)zsum(x.人
6、3•*y)zsum(x.人4•*y)]d=F/Ez=0:0.00001:1t=d(5)*z.x4+d(4)*z.x3+d(3)*z.^2+d(2)*z+d(l)plot(z,t,'r')%4次拟合holdona.=0:0.01:1x=[00.10.20.30.50.81]y=[1.050.420.530.640.952.222.56]n=length(x);z=0;fori=l:ns=l;forj=l:nifj~=is=s.*(a-x(j))./(x(i)-x(j));endendz=z+s*y(i);endzplot(a,z,'black')%拉格朗日插值
7、四计算结果分析运行结果五计算中出现的问题、解决方法和体会这次上机实践我们做的是最小二乘法的曲线拟合问题,程序写的比较顺利,利用老师给的步骤写出了止确程序并调试成功,需要注意的有两点:1•矩阵相乘在MATLAB里要在对应字母后加•才可以2.最后运行出结果曲线后3次,4次拟合曲线相似度很高,需用不同颜色标注指导教师:
此文档下载收益归作者所有