下载此文档

Lab02 多项式插值计算及其收敛性实验.pdf


文档分类:高等教育 | 页数:约10页 举报非法文档有奖
1/10
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/10 下载此文档
文档列表 文档介绍
该【Lab02 多项式插值计算及其收敛性实验 】是由【我是开始】上传分享,文档一共【10】页,该文档可以免费在线阅读,需要了解更多关于【Lab02 多项式插值计算及其收敛性实验 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。实用标准文案

【实验目的和要求】
,能
用Matlab语言编写按Langrage插值法和Newton插值法计算插值的程
序;
、验证Runge现象、分析插值多项式的收敛
性;
,熟悉掌握函数interp1
的使用;
,对教材介绍的几种分段低次
插值法进行分析比较。
【实验内容】
,描述Langrage插值法和Newton插值法。

序。
1
,x[5,5],分别取3个,5个、9个、11个等距节点,用所
1x2
编写的程序进行插值计算并画图,以验证Runge现象、分析插值多项式的
收敛性。
1
,对y,x[5,5],用n=11个节点(等分)作分段
1x2
线性插值、分段Hermit插值和三次样条插值,用m=101个插值点(等分)
作图,比较结果。
【实验仪器与软件】
,内存在128Mb以上的PC;

实验讲评:
实验成绩:
评阅教师:
200年月日
文档
实用标准文案

一、算法描述
1、lagrange插值描述:
构造通过n+1个节点xxx的n次插值多项式L(x),假定它满
01nn
足条件L(x)=y,j=0,1,…,(x)
njj
(j=0,1,…,n)在n+1个节点xxx上满足条件
01n
l1,kj,j,k0,1,…,n,则根据基函数可以确定
k0,kj,
(xx)(xx)(xx)(xx)
l0k1k1n,k0,1,,
k(xx)(xx)(xx)(xx)
k0kk1kk1kn
n
lagrange插值多项式L(x)yl(x),j0,1,,n.
njkkj
k0
2、Newton插值描述:
f在插值点x(i0,1,,n)上的值为f(x)(i0,1,,n),要求n次插值多项式
ii
P(x)满足条件P(x)f(x),i0,1,n,则插值函数为
nnii
P(x)aa(xx)a(xx)(xx),通过线性插值、均差可确定
n010n0n1
a,即:
i
f(x)f(x)f(x)f(x)f[x,x]f[x,x]
af[x,x]10,f[x,x]21,a1201,
101xx12xx2xx
102120
f[x,x,x]f[x,x,x]
由此下去af[x,x,,x]12i01i
i01ixx
i0
值公式为:
P(x)f(x)f[x,x](xx)f[x,x,x](xx)(xx]f[x,x,x](xx)(xx
n00100120101n0n1)
B(i,j1)B(i1,j1)
其中根据均差表可以把均差表示为:B(i,j),B(i,j)表示
xx
ij1
第i行第j列的均差值。例如、B(1,1)f[x,x],B(3,2)f[x,x,x]
01012
二、算法程序
lagrange程序:
functiony=xm_lagrange(x0,y0,x)
iflength(x0)~=length(y0)
error('x0y0的维数不相等');
else
n=length(x0);
m=length(x);
fori=1:m
z=x(i);
文档
实用标准文案
s=;
fork=1:n
p=;
forj=1:n;
ifj~=k
p=p*(z-x0(j))/(x0(k)-x0(j));
end
end
s=s+p*y0(k);
end
y(i)=s;
end
end
end
newton插值公式:
functiony=xm_newdon(x0,y0,x)
iflength(x0)~=length(y0)
error('x0y0的维数不相等');
else
n=length(x0);
d=y0;
forj=2:n
fori=j:n
y0(i)=(d(i)-d(i-1))/(x0(i)-x0(i-j+1));
end
d=y0;
end
m=length(x);
fork=1:m
s=0;p(1)=;z=x(k);
forA=1:n
p(A+1)=p(A)*(z-x0(A));
s=s+d(A)*p(A);
end
y(k)=s;
end
end
end
三、插值计算
1、lagrange插值和newton插值分别取3个等距节点进行插值计算。
clear
文档
实用标准文案
clc
x0=linspace(-5,5,3);
y0=1./(1+x0.^2);
x=-5::5;
y=1./(1+x.^2);
y1=xm_lagrange(x0,y0,x);
y2=xm_newton(x0,y0,x);
plot(x,y,'b',x,y1,'r')
1









0
-5-4-3-2-1012345
红色曲线为lagrange插值函数图。
plot(x,y,'b',x,y2,'g')
1









0
-5-4-3-2-1012345
文档
实用标准文案
浅绿色曲线为Newton插值函数图。
2、1、lagrange插值和newton插值分别取5个等距节点进行插值计算
clear
clc
x0=linspace(-5,5,5);
y0=1./(1+x0.^2);
x=-5::5;
y=1./(1+x.^2);
y1=xm_lagrange(x0,y0,x);
y2=xm_newton(x0,y0,x);
plot(x,y,'b',x,y1,'r')
1




0
-
-
-5-4-3-2-1012345
红色曲线为lagrange插值函数图
plot(x,y,'b',x,y2,'g')
文档
实用标准文案
1




0
-
-
-5-4-3-2-1012345
浅绿色曲线为Newton插值函数图。
3、lagrange插值和newton插值分别取9个等距节点进行插值计算:
clear
clc
x0=linspace(-5,5,9);
y0=1./(1+x0.^2);
x=-5::5;
y=1./(1+x.^2);
y1=xm_lagrange(x0,y0,x);
y2=xm_newton(x0,y0,x);
plot(x,y,'b',x,y1,'r')
1

0
-
-1
-
-5-4-3-2-1012345
文档
实用标准文案
红色曲线为lagrange插值函数图
plot(x,y,'b',x,y2,'g')
1

0
-
-1
-
-5-4-3-2-1012345
浅绿色曲线为Newton插值函数图
4、lagrange插值和newton插值分别取11个等距节点进行插值计算:
clear
clc
x0=linspace(-5,5,11);
y0=1./(1+x0.^2);
x=-5::5;
y=1./(1+x.^2);
y1=xm_lagrange(x0,y0,x);
y2=xm_newton(x0,y0,x);
plot(x,y,'b',x,y1,'r')
文档
实用标准文案
2

1

0
-
-5-4-3-2-1012345
红色曲线为lagrange插值函数图
plot(x,y,'b',x,y2,'g')
2

1

0
-
-5-4-3-2-1012345
浅绿色曲线为Newton插值函数图
从图中,在区间[-3,3]上,插值的误差比较小,在两端的振荡更为明
显,称
之为Runge现象。
1
4、用函数interp1,对y,x[5,5],用n=11个节点(等分)作分段
1x2
线性插值、分段Hermit插值和三次样条插值,用m=101个插值点(等分)作
文档
实用标准文案
图,比较结果。
clear
clc
x0=linspace(-5,5,11);
y0=1./(1+x0.^2);
x=-5::5;
y=1./(1+x.^2);
y2=interp1(x0,y0,x,'linear');
y3=interp1(x0,y0,x,'pchip');
y4=interp1(x0,y0,x,'spline');
plot(x,y,'k',x,y2,'b',x,y3,'r.',x,y4,'y')
1









0
-5-4-3-2-1012345
蓝色曲线表示采用分段线性插值曲线,蓝色曲线表示采用分段Hermit插
值曲线,黄色曲线表示采用三次样条插值曲线图。
四、算法分析
拉格朗日插值法公式结构紧凑,插值曲线光滑,误差估计有表达式,有利用
于进行理论分析。在实验中,我们逐步增加节点进行插值计算实验,开始时认为
节点越多L(x)越逼近f(x),但事实并非如此,实验表明,在区间[-5,5]上
n
L(x)不一定收敛于f(x),并且当节点增加时,需重新计算全部插值基函数
n
l(x)(k=0,1,2,…,n)的值,但牛顿插值公式避免了重新计算全部插值基函
k
数。然而两者所计算出来的多项式随着节点增加,振荡更加明显。
文档
实用标准文案
五、总结
在这次实验中,我们验证了Runge现象,同时也直观证明了Langrage插值多项式
L(x)并不一定收敛于原函数f(x),用Langrage插值法进行插值计算时,并非节点
n
取得越多越好,实际上不宜取太多。从分段线性插值、分段Hermit插值和三次样条
插值中可以看到,采用的次数不高,反而能够使插值更精确。理论和实际还是相差
很大,我们只有不断在实际中得到启示,才能去寻找更有效计算方法。
文档

Lab02 多项式插值计算及其收敛性实验 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数10
  • 收藏数0 收藏
  • 顶次数0
  • 上传人我是开始
  • 文件大小295 KB
  • 时间2023-03-18