实验二 拉格朗日插值龙格现象
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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命令窗口敲入一些基础的命令,同时更深刻地了解了拉格朗日插值的龙格现象。