您好,欢迎访问三七文档
1贵州师范大学数学与计算机科学学院学生实验报告课程名称:数值分析班级:实验日期:2013年9月27日学号:实验成绩:一、实验名称实验二:Lagrange插值与曲线拟合的最小二乘法二、实验目的及要求1.让学生掌握Lagrange插值与曲线拟合的最小二乘法2.让学生能够用这些方法解决一些实际问题三、实验环境每人一台计算机,要求安装WindowsXP操作系统,Microsoftoffice2003、MATLAB6.5(或7.0).四、实验内容题1:对函数211)(xxf,取n+1个等距分布的插值节点,取不同的n,作n次Lagrange插值,把)(xf和插值多项式的图象绘制在同一张图上进行比较.题2:给定数据点分别用一次,二次,和三次多项式曲线,以及最小二乘法拟合这些数据点,哪一种曲线拟合较好?为什么?你能找出更好的拟合曲线吗?提示:用残差平方的大小来判断拟合的优劣,越小越好.五、算法描述及实验步骤针对实验1:(1)首先运用Matlab创建M文件Lagrange.m(2)然后在命令窗口调用该文件针对实验2:(1)运用Matlab作出上面表中的数据的散点图(2)分别作出一次二次三次多项式拟合曲线(3)比较三种曲线拟合的精度即比较残差平方的大小ix-3-10135iy-6-3-10132六、调试过程及实验结果1.Lagrange插值:(1)在命令窗口输入:f=shuru(-5,5,10)(回车)f=Columns1through60.03850.05880.10000.20000.50001.0000Columns7through110.50000.20000.10000.05880.0385(2)所得结果为图形所示:上图中绿色的线条为该函数图像的拟合曲线2.曲线拟合的最小二乘法(1)先作出该散点图的一次拟合曲线(程序如下):x=[-3,-1,0,1,3,5];t=-4:0.01:6;y=[-6,-3,-1,0,1,3];subplot(1,3,1)scatter(x,y,'filled','r');holdonp1=polyfit(x,y,1)p1=1.0776-1.89803y1=polyval(p1,x);y1t=polyval(p1,t);plot(t,y1t,'k')e1=norm(y1-y)e1=1.6087title('一次多项式曲线拟合','fontsize',12,'fontweight','bold','fontangle','italic')(2)然后作出其二次拟合曲线(程序如下):subplot(1,3,2)scatter(x,y,'filled','y');holdonp1=polyfit(x,y,2)p1=-0.08441.2584-1.4156y1=polyval(p1,x);y1t=polyval(p1,t);plot(t,y1t,'r')e1=norm(y1-y)e1=0.8405title('二次多项式曲线拟合','fontsize',12,'fontweight','bold','fontangle','italic')(3)最后做出其三次拟合曲线(程序如下):subplot(1,3,3)scatter(x,y,'filled','m');holdonp1=polyfit(x,y,2)p1=-0.08441.2584-1.4156y1=polyval(p1,x);y1t=polyval(p1,t);plot(t,y1t,'r')e1=norm(y1-y)e1=0.8405title('三次多项式曲线拟合','fontsize',12,'fontweight','bold','fontangle','italic')4最后的图像显示为:(4)比较精确度:因为e1=1.6087e2=0.8405e3=0.8405所以显然三次多项式拟合曲线的精度更高根据图上反映的三次拟合的曲线也显然更逼近七、总结通过这次对实验1和实验2的完成,学会了怎样操作运用Matlab软件作散点图以及作图像的N次拟合曲线。同时也掌握了Lagrange插值与曲线拟合的最小二乘法,并能够比较分析其不同方法的准确程度,从中学会了怎样调试程序和编制程序,并能够在以后的实验中广泛运用,收获颇多。八、附录(源程序清单)Lagrange.m文件:functionf=shuru(a,b,n)h=(b-a)/n;x=a:h:b;f=1./(1+x.^2);cx=a:0.01:b;y0=1./(1+cx.^2);plot(cx,y0,'b--')5holdoncy=Lagrange(x,f,n,cx');plot(cx,cy,'g--')legend('f(x)','Pn(x)',2)functioncy=Lagrange(x,y,n,cx)m=length(cx);cy=zeros(m,1);fork=1:n+1t=ones(m,1);forj=1:n+1ifj~=kt=t.*(cx-x(j))./(x(k)-x(j));endendcy=cy+y(k).*t;end
本文标题:数值分析实验报告一
链接地址:https://www.777doc.com/doc-2387481 .html