实验二 拉格朗日插值龙格现象

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

汕 头 大 学 实 验 报 告

学院: 工学院 系: 计算机系 专业: 计算机科学与技术 年级: 2010 姓名: 林金正 学号: 2010101032 完成实验时间: 5月24日

一.实验名称:拉格朗日插值的龙格现象

二.实验目的:

通过matlab 处理,观察拉格朗日插值的龙格现象.

三.实验内容:

(1)学习matlab 的使用

(2)以实验的方式,理解高阶插值的病态性,观察拉格朗日插值的龙格现象。

四.实验时间、地点,设备:

实验时间:5月24日

实验地点: 宿舍 实验设备:笔记本电脑

五,实验任务

在区间[-5,5]上取节点数n=11,等距离h=1的节点为插值点,对于函数2

5()1f x x =+进行拉格朗日插值,把f(x)与插值多项式的曲线花在同一张图上。 六.实验过程

拉格朗日插值函数定义:

对某个多项式函数,已知有给定的k + 1个取值点:

其中对应著自变数的位置,而对应著函数在这个位置的取值。

假设任意两个不同的xj 都互不相同,那麼应用拉格朗日插值公式所得到的拉格朗日插值多项式为:

其中每个为拉格朗日基本多项式(或称插值基函数),其表达式为:

[3]

拉格朗日基本多项式

的特点是在 上取值为1,在其它的点 上取值为0。

1.使用matlab,新建function.m 文件,使用老师所给代码,构建拉格朗日函数.

%lagrange.m

function y=lagrange(x0,y0,x)

n=length(x0);

m=length(x);

for i=1:m

z=x(i);s=0;

for k=1:n

L=1;

for j=1:n

if j~=k

L=L*(z -x0(j))/(x0(k)-x0(j));

end

end

s=s+L*y0(k);

end

y(i)=s;

end

y;

程序解释:

(x0,y0):已知点坐标

x:所求点的横坐标,

y:由(x0,y0)所产生的插值函数,以x 为参数,所的到的值

2.再一次新建function.m 文件.

构建自定义函数: 25()1f x x

=+ %f.m

function y = f(x)

y = 5/(1+x*x);

end

3.在脚本窗口中输入:

>>a = [-10:0.2:10]

>>for I = 1:length(a)

b(i) = f(a(i))

end ;%画出原函数(a,b)

>>c = [-5:1:5]

>>for i = 1:length( c)

d(i) = f(c(i))

end;%获取插值坐标(c,d)

>>e = [-5:0.2:5]

>>z = largange(c,d,e);%获取插值坐标函数(e,z) >>plot(a,b,’r-‘,e,z);%画图

过程及插图

七:实验所得:

这次实验是我初步学会Matlab的使用,学会新建function函数,在matlab命令窗口敲入一些基础的命令,同时更深刻地了解了拉格朗日插值的龙格现象。

相关文档
最新文档