资源描述:
《拉格朗日插值算法在工程中的应用(正式)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、拉格朗日插值算法在工程中的应用杜江涛090402090402104【摘要】本文简介拉格朗日插值,它的算法及程序和拉格朗日在实际生活中的运用。运用了拉格朗日插值的公式,以及它在MATLAB中的算法程序,并用具体例子说明。拉格朗日插值在很多方面都可以运用,具有很高的应用价值。【关键词】算法;作业;拉格朗日;插值;公式;算法程序;应用;科学。1前言约瑟夫·拉格朗日(JosephLouisLagrange),法国数学家、物理学家。他在数学、力学和天文学三个学科领域中都有历史性的贡献,其中尤以数学方面的成就最为突出。拉格朗日对流体运动的理论也有重要贡献,提出了描述流体运动的拉格朗日方法。数据
2、建模有两大方法:一类是插值方法,另一类是拟合函数一般的说,插值法比较适合数据准确或数据量小的情形。然而Lagrange插值有很多种,1阶,2阶,…n阶。我们可以利用拉格朗日插值求方程,根据它的程序求原方程的图像。下面我具体介绍分析一下拉格朗日插值的算法设计及应用。2算法描述2.1插值算法原理已知函数y=f(x)在若干点的函数值=(i=0,1,,n)一个差值问题就是求一“简单”的函数p(x):p()=,i=0,1,,n,(1)则p(x)为f(x)的插值函数,而f(x)为被插值函数会插值原函数,,,,...,为插值节点,式(1)为插值条件,如果对固定点求f()数值解,我们称为一个插值节
3、点,f()p()称为点的插值,当[min(,,,...,),max(,,,...,)]时,称为内插,否则称为外插式外推,特别地,当p(x)为不超过n次多项式时称为n阶Lagrange插值。2.2Lagrange插值公式(1)线性插值设已知,及=f(),=f(),为不超过一次多项式且满足=,=,几何上,为过(,),(,)的直线,从而得到=+(x-).(2)为了推广到高阶问题,我们将式(2)变成对称式=(x)+(x).其中,(x)=,(x)=。均为1次多项式且满足(x)=1且(x)=0。或(x)=0且(x)=1。两关系式可统一写成=。(3)(2)n阶Lagrange插值设已知,,,..
4、.,及=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插值的基函数。2.3,Lagrange插值余项设,,,...,[a,b],f(x)在[a,b]上有连续的n+1阶导数,为f(x)关于节点,,,...,的n阶Lagrange插值多项式,则对任意x[a,b],其中,位于,,,
5、...,及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位有效数字。(2)易知sin0.7071+=0.8660=0.6434截断误差为:得知结果至少有两位数字。比较本题精确解sin=0.642787609...,实际误差限分别为0.0047和0.0006
6、2。3算法仿真3.1Lagrange插值算法和程序functionyy=nalagr(x,y,xx)%用途:Lagrange插值法数值求解;格式:yy=nalagr(x,y,xx)%x是节点向量,y是节点上的函数值,xx是插值点(可以多个),yy返回插值m=length(x);n=length(y);ifm~=n,error('向量x与y的长度必须一致');ends=0;fori=1:nt=ones(1,length(xx));forj=1:nifj~=it=t.*(xx-x(i))/(x(i)-x(j));endends=s+t*y(i);endyy=s;用以上程序的Eg1的结果
7、为>>x=pi*[1/61/4];y=[0.50.7071];xx=2*pi/9;>>yy1=nalagr(x,y,xx)yy1=-0.5690>>x=pi*[1/61/41/3];y=[0.50.70710.866];>>yy2=nalagr(x,y,xx)yy2=0.8023>>fplot('sin',[pi/6,pi/3]);holdon;>>plot(x,y,'o',xx,0.6381,'g^',xx,0.6434,'rv');holdoff;图形为3.2La