插值方法综述报告_第1页
插值方法综述报告_第2页
插值方法综述报告_第3页
插值方法综述报告_第4页
插值方法综述报告_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

渐以上有大承实用数值方法(Matlab)综述报告题目: 插值方法综述小组成员姓名:毛晓雯学号:班级:机自6班2014-2015(1)学期提交日期:2014年12月29日

插值方法综述插值方法综述1插值方法总结在离散数据基础上补插出连续函数是计算数学中最基本最常用的手段,是函数逼近的重要方法,利用它可以通过函数在有限个点处的取值状况估算该函数在其它点处的值。因此,插值方法是观测数据处理、函数近似表示、计算几何造型等所常用的工具,又是导出其它许多数值方法的依据。在教材的第二章中我们重点学习了Lagrange插值、Aitken逐步插值、Taylor插值和Hermite插值,另外也初步了解了分段插值和样条插值。下面对此做一简单介绍:首先,Lagrange插值要求其插值函数p(x)与所逼近的函数f(x)在一系列节点上取相同的函数( \值,其形式为y=£口'XjyoAitken逐步插值是对Lagrange插值的改进,它是将多点的Lagrangex一xii=0Ij:0ijJ△4)(x△4)(x一x)2+...+d3(x-x)

2o n!o一系列节点上导数相同,其形式pn(x)=f(x0)+f(x0)(x-X0)4Hermite插值综合了Lagrange插值和Talor插值,它既要求插值函数与原来的函数在节点上具有相同的函数值,又要求其在节点上导数相同。Hermite插值函数可通过待定系数法、余项校正法、基函数法这三种方法构造。分段插值是将插值函数逐段多项式化,选取分段多项式最为插值函数。最后样条插值是指选取样条函数作为插值函数,是一种改进的分段插值,具有光滑性和间断性。2Newton插值方法Newton插值方法与我们教材中的Aitken逐步插值相似,它们都是对Lagrange插值方法的改进,克服了Lagrange插值在增加插值节点后,必须重新计算所有的插值基函数的缺点。首先我们设通过n+1个点Qi+f(x))(i=0,1,…n)的n次插值多项式为P(x)=a+a(x-x)+a(x-x)(x-x)+…+a(x-x)…(x—x) (2-1)其中,a0,%…,an为待定系数,由插值条件PJxJ=f(xjj=0,1,•-n可得:当x=x时,P(x)=a=f(x)当x=x时,P(x)=a+a(x-x)=f(x),推得f(x)-f(X)a-1 0―x-X当x=x时,P(x)=a+a(x-x)+a(x-x)(x-x)=f(x),推得f(x)-f(X)f(x)-f(x) 2 1 1 依次递推,可得a3,…an。为了给出系数ak(k=0,1,…n)的一般表达式,下面引进差商的概念。差商的定义和性质定义设y定义设y=f(x)在点x0,xj^xl丰J时,X丰X)处的取值分别为f(x),f(x),•••,f(X),称寸 X.-X.为函数f(为函数f(X)在X『Xj处的一阶差商,并记为f[XXJ];一般地,将(2-2)f[x,…工]-f[x,…X](2-2)称为f(x)在x,x,---x处的k阶差商。差商的计算可列表进行(见表1-1)表2-1差商表X.lf(x)一阶差商二阶差商二阶差商四阶差商X0X1X2X3X4f(X)0f(X)1f(xJf(xJf(x)4Lfaf[X0,X]]f[X1,x2]f[x2,X3]f[X3,X4]Lrrf[X ,X,X]f[X,X,X]f[X ,X,X]*1g>f[X,X,X,X]f[X,X,X,X]Lfaf[X,X,X,X,X]Lrr性质1f(x)在x,x,…x处的k阶差商f[x,x,…,x]可以表示为函数值f(x0),f(X),…f(xk)的线性组合,形如(2-3)f[x0T<2f^

l=0k+1i

(2-3)其中,3(%)=rtQ-x)。六0,性质2差商具有对称性,即在f[x0,x1,…,xj中任意改变节点x,Xj的次序,其值不变。性质3对于n次多项式f(x)的k阶差商f[x0,x1,…,xki],当k<n时,是n-k次多项式,而当k>n时,其值恒等于零。Newton插值公式设在x,x,-,-x,x处,函数y=f(x)的取值分别为f(x0),f(x1),---,f(x)和f(x),由差商的定义[ ]f(x)-f(x)f[x,xJ= 0x-x0从而有f(x)=f(x)+f[x,x](x-x)类似地,由各阶差商的定义,可以依次得到f(x)=f(x0)+f[x,x0](x-x0)f[x,x]=f[x,x]+f[x,x,x](x-x)(2-4)f[x,x0,xl=fL0,xi,x2]+f[x,x0,xi,x2Kx-x(2-4)f[x,x0,…,xn/=f[x0,xi,…,xn1+f葭x0,…,xnkx一)对式(2-4)的第二式两边同乘(x-x0),第三式两边同乘(x-x0)(x-x1),……,依此类推,将最后一式两边同乘(x-x0)(x-x1)…(x-xn1)。然后将上面分别乘过不同因式后所有n+1个等式两边相加,整理得f(x)=f(x)=f(x)+f[x,x](x-x)+f[x,x,x](x-x)(x-x)+•••+f[x0,x1,…,xJ(x-xL(x-x)+2f[x,x,x](x-x)..<x-x)n 0 n-1 0 n 0 n(2-5)(2-6(2-6)(2-7)(x)=f(x)+f[x,x](x-x)+f[x,x,x](x-x)(x-x)+…;f[x,x,x](x-x)7-2x)

01 n-1 0 nRn(x)=f[x,x,…x](x-x).(x-x)

f(x)=N(x)+R(x) (2-8)称Nn(f(x)=N(x)+R(x) (2-8)称Nn(x)为n次Newton插值多项式,Rn(x)为相应的截断误差。显然,Nn(x)是不超过n次的多项式,若能验证Nn(x)满足插值条件N(x)=f(x),i=0,1,…,n (2-9)ni i则通过n+1个点&""))。=0,1,--n)的插值多项式就可按式(2-6)进行构造。而要验证插值条件式(2-9),只需证明N(x)=L(x)即可。事实上,设Mx)是任意一个不超过n次的多项式,将Mx)按式(2-5)展开,则由差商性质3可知其截断误差为零,即P(x)=P(x)+P[x,x](x-x)+P[x,x,x](x-x)(x-x)+…+P[x,x,…,x](x-x),(x2 0 1-x)n-1(2-10)现取f(x)在节点x,x,…x的Lagrange插值多项式L(x)作为式(2-10)中的P(x),则L(x)也可表示成(x)=L(x)+L[x,x](x-x)+L[x,x,x](x-x)(x-x)0 1 0n0 1 2 0 1,x,…,x」(x-x),(x-x )(2-11)又由于所以式(2-11)L(x)=f(x),i=0,1,•--nni i中Ln(x)在各节点处的各阶差商值等于f(x)在这些节点处相应的各阶差商值,故(x)=L(x)+L[x,x](x-x)+L[xn0n+…+LLx+•••+f[x0,x1,-,Xn](x-x3(x0n-]—x,

n-1](x-x)(x-x))=f(x)+f[x,x](x-x)LN(x) 01 0n(2-12)即确实满足插值条件式(2-9)。Newton插值公式的优点是:但增加一个节点时,即增加一次插值多项式的次数时,只要在增加一项就行了,且有递推关系式(2-13)NkJx”Nk(x)+f[(2-13)其中,x是增加的节点。这时截断误差为f(x)-N(x)=f"+"?(x-x),(x-x)(x-x)

k+1 (k+2)! 0 k其中,己介于x,x,…x,x之间。的n次插值多项式,分别用Lagrange插值方法和Newton插值方法,则f(x)可分别表示为f(x)=L(x)+R(x)和f(x)=N(x)+R(x)结合式(2-12),两个插值多项式的余项也应相等,即有f[X,X,X,…,X]二牛卑工式Q,b)

01n (n+1)!因此可以得到差商的另一个重要性质:性质4(2-14)A...]_f(k)@于0,Xi, ,Xk-k!(2-14)其中,&介于X,X,…X的最小值和最大值之间。0 1kNewton插值的算法步1计算f[X]、f[X,x]、f[X,X,X]、…、f[X,X,X,…,x]步2计算Newton插值多项式中f[x,x,…,x.](x-x)(x-x)-,(x-x.),i=1,2,…,n,得至Un各多项式步3将得到的n个多项式相加,得到牛顿插值多项式步4利用所得到的插值多项式,估算x取其它值时f(x)的值实际算例已知f(x)=G在点X=2,2.1,2.2的值,试作二次Newton插值多项式。若增加一个点x=2.3,再求三次Newton插值多项式。X.if(匕)f[X,X.1]f[x.,x.1,x.2]f[x.,x.,x.,x.]2.01.4142140.349242.11.4491380.34102-0.041100.0091672.21.4832400.33335-0.038352.31.516575故二次Newton插值多项式是:N£)=1.414214+0.34924(%-2.0)-0.04110(%-2.0)(%-2.1)三次Newton插值多项式是:N(%)=1.414214+0.34924(%—2.0)—0.04110(%—2.0)(%—2.1)+0.009167(%—2.0)(%—2.1)(%—2.2)=N(%)+0.009167(%—2.0)(%—2.1)(%—2.2)2由此可见,当增加一个节点时,即增加一次插值多项式次数时,Newton插值多项式只要增加一项即可。当插值节点个数相对较多时,我们可以用Matlab编程求解。如下:已知/(%)=G在2.0〜2.5段上各点的值如下表,试求Newton插值多项式。%,2.02.12.22.32.42.52.6f(%.)11.4142141.4491381.4832401.5165751.5491931.5811381.6124521)在编辑窗口建立一个M文件Newton.m输入:function[p2,z]=Newton(x,y,t)%输入参数中x,y为已知插值点的坐标,t为插值点%输出参数中p2为所求得的牛顿插值多项式,z为利用多项式所得的各插值点t的函数值。n=length(x);P(1)=y(1);fori=2:nx1=x;y1=y;x1(i+1:n)=[];y1(i+1:n)=[];n1=length(x1);s1=0;forj=1:n1t1=1;fork=1:n1ifk==jcontinue;elset1=t1*(x1(j)-x1(k));endends1=s1+y1(j)/t1;endP(i)=s1;endb(1,:)=[zeros(1,n-1)P(1)];cl=cell(1,n-1);fori=2:nu1=1;forj=1:i-1u1=conv(u1,[1-x(j)]);cl{i-1}=u1;endcl{i-1}=P(i)*cl{i-1};b(i,:)=[zeros(1,n-i),cl{i-1}];endp2=b(1,:);forj=2:np2=p2+b(j,:);endiflength(t)==1m=0;fori=1:nm=m+p2(i)*tA(n-i);endz=m;elsek1=length(t);m=zeros(1,k1);forj=1:k1fori=1:nm(j)=m(j)+p2(i)*t(j)A(n-i);endz=m;endendplot(t,z,'y',x,y,'*r')2)在工作窗口写主程序:x=[2.02.12.22.32.42.52.6];y=[1.4142141.4491381.4832401.5165751.5491931.5811381.612452];t=2.0:0.05:2.6;[u,v]=newTon(x,y,t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论