数值分析实验报告2 下载本文

贵州师范大学数学与计算机科学学院学生实验报告

课程名称: 数值分析 班级: 09数本一班 实验日期: 学 号: 090704020103 82号 姓名: 指导教师: 实验成绩: 一、实验名称

实验二: Lagrange插值与曲线拟合的最小二乘法 二、实验目的及要求

1. 掌握Lagrange插值的基本思路和步骤. 2. 掌握最小二乘法的基本思路和拟合步骤. 3. 培养Matlab编程与上机调试能力. 三、实验环境

每人一台计算机,要求安装Windows XP操作系统,Microsoft office2003、MATLAB6.5(或7.0). 四、实验内容

1在区间[-5,5]内选取n+1个的等距插值节点,取不同的n,1?x21作n次Lagrange插值,将对应的插值多项式图像与被插值函数f(x)?画在同21?x一张图上进行比较. 2.给定数据点 -3 -1 0 1 3 5 xi 1. 对函数f(x)?yi -6 -3 -1 0 1 3 分别用一次,二次和三次多项式曲线,以最小二乘法拟合这些数据点,哪一种曲线拟合较好?为什么?能找出更好的拟合曲线吗?

五、算法描述及实验步骤 1.

(1)分别画出原函数图像与Lagrange多项式插值图像进行比较。 (2)实验步骤:

a.编写Lagrange插值M文件; b.画出原函数图像;

c.调用Lagrange插值取n=10画拟合图像; d.比较观察两个图像。 2.

(1)利用最小二乘法对给定数据点分别画一次,二次和三次多项式拟合曲线。 (2)实验步骤:

a.输入数据点;

b.建立一个划分为四个部分的图像窗口;

c.画一次多项式拟合图像在第一部分; d.画二次多项式拟合图像在第二部分; e.画三次多项式拟合图像在第三部分。 六、调试过程及实验结果

七、总结

1、从图像可以看出用lagrange插值函数拟合数据中间拟合的很好,但两边与原函数图象相比波动太大,逼近效果很差,出现所谓的Runge现象。

2、从图像可以看出用最小二乘法去拟合较少的数据点,曲线拟合比直线拟合得好,高次的会比低次的拟合得好。

3.一般情形高次插值比低次插值精度高,但是插值次数太高也不一定能提高精度.

八、附录(源程序清单) 1、(P48 2.13) M文件:

function cy=Lagrange(x,y,n,cx) m=length(cx);cy=zeros(1,m); for k=1:n+1

t=ones(1,m); for j=1:n+1 if j~=k

t=t.*(cx-x(j))./(x(k)-x(j)); end end

cy=cy+y(k).*t; end

>> x=-5:0.01:5; >> y=1./(x.^2+1); >> plot(x,y) >> n=10;

>> x0=-5:10/n:5; >> y0=1./(1+x0.^2); >> cx=-5:0.01:5;

>> cy=Lagrange(x0,y0,n,cx); >> hold on >> plot(cx,cy)

2、(P48 2.15)

>> x=[-3,-1,0,1,3,5]; >> y=[-6,-3,-1,0,1,3]; >> subplot(2,2,1)

>> scatter(x,y,'filled','r') >> hold on

>> p1=polyfit(x,y,1); >> y1=polyval(p1,x); >> e1=norm(y-y1)