第5章实验四Lagrange插值多项式.docx
《第5章实验四Lagrange插值多项式.docx》由会员分享,可在线阅读,更多相关《第5章实验四Lagrange插值多项式.docx(8页珍藏版)》请在冰豆网上搜索。
![第5章实验四Lagrange插值多项式.docx](https://file1.bdocx.com/fileroot1/2022-12/8/38eec9bc-b261-461f-a4b1-07098254dfe6/38eec9bc-b261-461f-a4b1-07098254dfe61.gif)
第5章实验四Lagrange插值多项式
第5章实验四Lagrange插值多项式
实验目的:
理解Lagrange插值多项式的基本概念,熟悉Lagrange插值多项
较好的对称性。
公式具有两大优点:
(1)求插值多项式,不需要求解线性方程组,当已知数据点较多时,此公式更能显示出优越性。
(2)函数值可以用符号形式表示,数据点未确定的纵坐标可用多项式表示。
5.2Lagrange插值多项式源代码I
%功能:
对一组数据做Lagrange插值
%调用格式:
yi=Lagran_(x,y,xi)
%x,y数组形式的数据表
%xi:
待计算y值的横坐标数组
%yi用Lagrange插值算出的y值数组
functionfi=Lagran_(x,f,xi)
fi=zeros(size(xi));
np1=length(f);
fori=1:
np1
z=ones(size(xi));
forj=1:
np1
ifi~=j,z=z.*(xi-x(j))/(x(i)-x(j));end
endfi=fi+z*f(i);
endreturn
例5.1已知4对数据(1.6,3.3),(2.7,1.22),(3.9,5.61),(5.6,
2.94)。
写出这4个数据点的Lagrange插值公式,并计算出横坐标xi=[2.101,4.234]时对应的纵坐标。
解:
4个数据点的Lagrange插值公式为:
L3(x)
33*(x-2.7)*(x-3.9)*(x-5.6)
(1.6-2.7)*(1.6-3.9)*(1.6-5.6)
(x-1.6)*(x-3.9)*(x-5.6)
(2.7-1.6)*(2.7-3.9)*(2.7-5.6)
(x-1.6)*(x-2.7)*(x-5.6)
(3.9-1.6)*(3.9-2.7)*(3.9-5.6)
(x-1.6)(x-2.7)*(x-3.9)
(5.6-1.6)*(5.6-2.7)*(1.6-3.9)
清单5.1
clearx=[1.6,2.7,3.9,5.6];y=[3.3,1.22,5.61,2.94]xi=[2.101,4.234];yi=Lagran_(x,y,xi);
xx=1.5:
0.05:
6.5;
yy=Lagran_(x,y,xx);
plot(xx,yy,x,y,'o')
其结果为:
yi=
1.05966.6457
图5.1插值多项式曲线图
5.3Lagrange插值多项式源代码II
%输入:
x是插值节点横坐标向量;y是插值节点对应纵坐标向量。
%输出:
C是拉格朗日插值多项式的系数矩阵;L是插值基函数系数矩阵。
function[C,L]=lagran(x,y)w=length(x);
n=w-1;
L=zeros(w,w);
fork=1:
n+1
V=1;
forj=1:
n+1
ifk~=j
V=conv(V,poly(x(j)))/(x(k)-x(j));
end
end
L(k,:
)=V;
end
C=y*L
程序中使用了命令poly和conv。
poly命令创建一个向量,其项为以多项式的系数,该多项式具有给定的根。
conv命令生成一个向量,其项为多项式系数,该多项式是另外两个多项式的乘积。
例如:
找出两个一次多项式p(x)和q(x)的乘
积,它们的根为3和5。
>>p=poly(3)
p=
1-3
>>q=poly(5)
q=
1-5
>>conv(p,q)
ans=
1-815
例5.2用Lagrange插值多项式源代码II,对4对数据(1.6,3.3),
(2.7,4.22),(3.9,5.61),(5.6,2.94),写出这4个数
据点的Lagrange插值公式,并计算出横坐标组xi=[2.ioi,4.234]时对
应的纵坐标值。
解:
4个数据点的Lagrange插值公式为:
L3(x)=3.3*(x—2.7)*(x-3.9)*(x-5.6)
(1.6-2.7)*(1.6-3.9)*(1.6-5.6)422*(x-1.6)*(x-3.9)*(x-5.6)
(2.7-1.6)*(2.7-3.9)*(2.7-5.6)
39*(x-1.6)*(x-2.7)*(x-5.6)+
(3.9-1.6)*(3.9-2.7)*(3.9-5.6)
294*(x-1.6)(x-2.7)*(x-3.9)
(5.6-1.6)*(5.6-2.7)*(1.6-3.9)清单5.2
clear
x=[1.6,2.7,3.9,5.6];y=[3.3,1.22,5.61,2.94]xi=[2.101,4.234];[C,L]=lagran(x,y);
xx=1.5:
0.05:
6.5;yy=polyval(C,xx);
plot(xx,yy,x,y,'o')
数据清单见图5.2,插值曲线图见图5.3。
J-UJUA
PM»"IM!
珀・w:
E^n»tjki.
“UE]
/jHralaUilf.WnTaH^v
aa-S-UaN14
ZHD4-I2DU31
rifamKnr«
8怦J"*l皿
Dm*mt
ErrvathFTi-ei■■!
iUrL*0rtl^rafc
flo吁佥Q3t
■卜IHIF*lrf»ILbTHTiMM
riHJ»
-1.MH1i.N¥l-HUE■,富耐
-i.anii.SrSi-仏HPHM.
Qb»jnw
n
口札・5•閑帕
R|b・Rl込晦
-amii
AH12
4LE13I
a»]~
L.ZZEi-r.iw
E.LLB-■.-llfli
-4LOaF
9-CM.
riS-DKI
LDM5
5.IMS
°l.MB
S.11®
blku
・DK3JZEF;31I)
ccdiCcmE3i
H[lI!
3;S&F;3XI)
If!
3;l21
MwlnHUk>>H[|T].4>LlwrLnH歸wrlnH画cL<
•ild1聆込無
•—II■+"鉉T^-iiii3—*—iHH:
*上刊金-*
图5.2输出插值多项式的系数、插值基函数系数矩阵及yy值
-5
-10
图5.3插值多项式曲线图形
例5.3将区间[-5,5]等分5份、10份,求函数y=%+x2)的拉格朗日插值多项式,作出函数y=%+x2)的原图像,观察龙格现象得出什么结果?
2
0.2
datal
■data2
data3
图5.45等份插值图形
图5.510等份插值图形
通过观察图形可以得出:
(1)并不是插值节点越多,插值多项式逼近函数效果就越好。
(2)误差较大地方,是在插值区间两端点附近出现。
练习题
1•设f(x^x2/x,
(1)用基于点&勺必=2和x2=2.5的二次拉格朗日
多项式,求f(1.5)和f(1.2)的近似值。
(2)用基于点X。
=0.5,花=1,X2=3和X3=5的三次拉格朗日多项式,求f(1.5)和f(1.2)的近似值。
2•用等距插值节点计算区间0辽x乞二/2上函数xsinx的四次拉格朗日多项
式。
每隔二/16计算一次插值误差,并画出图形。