数值分析拉格朗日插值法...doc
文本预览下载声明
```````````````````````````````````````````
数值分析拉格朗日插值法
拉格朗日插值的算法设计及应用
【摘要】 本文简介拉格朗日插值,它的算法及程序和拉格朗日在实际生活中的运用。运用了拉格朗日插值的公式,以及它在MATLAB中的算法程序,并用具体例子说明。拉格朗日插值在很多方面都可以运用,具有很高的应用价值。
【关键词】 拉格朗日;插值;公式;算法程序;应用;科学。
一、绪论
约瑟夫·拉格朗日(Joseph Louis Lagrange),法国数学家、物理学家。他在数学、力学和天文学三个学科领域中都有历史性的贡献,其中尤以数学方面的成就最为突出。拉格朗日对流体运动的理论也有重要贡献,提出了描述流体运动的拉格朗日方法。数据建模有两大方法:一类是插值方法,另一类是拟合函数一般的说,插值法比较适合数据准确或数据量小的情形。然而Lagrange插值有很多种,1阶,2阶,…n阶。我们可以利用拉格朗日插值求方程,根据它的程序求原方程的图像。下面我具体介绍分析一下拉格朗日插值的算法设计及应用。
二、正文
1、基本概念
已知函数y=f(x)在若干点的函数值=(i=0,1,,n)一个差值问题就是求一“简单”的函数p(x):p()=,i=0,1,,n, (1)
则p(x)为f(x)的插值函数,而f(x)为被插值函数会插值原函数,,,,...,为插值节点,式(1)为插值条件,如果对固定点求f()数值解,我们称为一个插值节点,f()p()称为点的插值,当[min(,,,...,),max(,,,...,)]时,称为内插,否则称为外插式外推,特别地,当p(x)为不超过n次多项式时称为n阶Lagrange插值。
Lagrange插值公式
(1)线性插值
设已知 , 及=f() ,=f(),为不超过一次多项式且满足=,=,几何上,为过(,),(,)的直线,从而得到
=+(x-). (2)
为了推广到高阶问题,我们将式(2)变成对称式
=(x)+(x).
其中,
(x)=,(x)=。均为1次多项式且满足
(x)=1且(x)=0。或(x)=0且(x)=1。
两关系式可统一写成= 。 (3)
(2)n阶Lagrange插值
设已知,,,...,及=f()(i=0,1,.....,n),为不超过n次多项式且满足(i=0,1,...n).
易知=(x)+....+.
其中,均为n次多项式且满足式(3)(i,j=0,1,...,n),再由(ji)为n次多项式的n个根知=c.最后,由
c=,i=0,1,...,n.
总之,=,=式为n阶Lagrange插值公式,其中,(i=0,1,...n)称为n阶Lagrange插值的基函数。
3,Lagrange插值余项
设,,,...,[a,b],f(x)在[a,b]上有连续的n+1阶导数,为f(x)关于节点,,,...,的n阶Lagrange插值多项式,则对任意x[a,b],
其中,位于,,,...,及x之间(依赖于x),(x)=
Eg1:已知函数表sin=0.5000,sin=0.7071,sin=0.8660,分别由线性插值与抛物插值求sin的数值解,并由余项公式估计计算结果的精度。
解:(1)这里有三个节点,线性插值需要两个节点,根据余项公式,我们选取前两个节点,易知:
sin()=0.5000+(-)
=0.5000+0.2071=0.6381
截断误差,
=,
得知结果至少有1位有效数字。
易知sin
0.7071+=0.8660=0.6434
截断误差为:
得知结果至少有两位数字。
比较本题精确解sin=0.642787609...,实际误差限分别为0.0047和0.00062。
4,Lagrange插值算法和程序
function yy=nalagr(x,y,xx)
%用途:Lagrange插值法数值求解;格式:yy=nalagr(x,y,xx)
%x是节点向量,y是节点上的函数值,xx是插值点(可以多个),yy返回插值
m=length(x);n=length(y);
if m~=n,error(向量x与y的长度必须一致);end
s=0;
for i=1:n
t=ones(1,length(xx));
for j=1:n
if j~=i
t=t.*(xx-x(i))/(x(i)-x(j));
end
end
s=s+t*y(i);
end
yy=s;
用以上程序的Eg1的结
显示全部