CP030-计算物理数据插值.ppt

上传人:max****ui 文档编号:3407730 上传时间:2019-12-13 格式:PPT 页数:47 大小:1.27MB
返回 下载 相关 举报
CP030-计算物理数据插值.ppt_第1页
第1页 / 共47页
CP030-计算物理数据插值.ppt_第2页
第2页 / 共47页
CP030-计算物理数据插值.ppt_第3页
第3页 / 共47页
点击查看更多>>
资源描述
实验数据的插值,根据这些数据,希望合理地估计出其它温度(如25摄氏度,40摄氏度)时的电阻,举例,这就是本章要讨论的“插值问题”,当精确函数y=f(x)非常复杂或未知时,在区间a,b上一系列节点x0xm处测得函数值y0=f(x0),ym=f(xm),由此构造一个简单易算的近似函数g(x)f(x),满足条件g(xj)=f(xj)(j=0,m)(*)这个问题称为“插值问题”,插值问题的定义,这里的g(x)称为f(x)的插值函数。,节点x0xm称为插值节点,条件(*)称为插值条件,区间a,b称为插值区间,f(x),g(x),最常用的插值函数是?,代数多项式,用代数多项式作插值函数的插值称为代数插值,本章主要讨论的内容,插值函数的类型,插值问题,插值法,插值函数,代数插值中的三个问题,一、插值问题解的存在唯一性?二、插值多项式的常用构造方法?三、插值函数的误差如何估计?,代数插值,代数插值问题解的存在惟一性,给定区间a,b上互异的n+1个点xj的一组函数值f(xj),j=0,,n,求一个n次多项式pn(x)Pn,使得pn(xj)=f(xj),j=0,1,,n.(1)令pn(x)=a0+a1x+anxn(2)证明pn(x)的系数a0,a1,an存在且唯一,(3),为此由插值条件(1)知Pn(x)的系数满足下列n+1个代数方程构成的线性方程组a0+a1x0+anx0n=f(x0)a0+a1x1+anx1n=f(x1).a0+a1xn+anxnn=f(xn),代数插值问题解的存在惟一性,而ai(i=0,1,2,n)的系数行列式是Vandermonde行列式,由于xi互异,所以(4)右端不为零,从而方程组(3)的解a0,a1,an存在且唯一。,代数插值问题解的存在惟一性,通过解上述方程组(3)求得插值多项式pn(x)的方法并不可取.这是因为当n较大时解方程组的计算量较大,而且方程组系数矩阵的条件数一般较大(可能是病态方程组),当阶数n越高时,病态越重。,为此我们必须从其它途径来求Pn(x):不通过求解方程组而获得插值多项式,代数多项式插值存在的问题,基本思想:在n次多项式空间Pn中找一组合适的基函数0(x),1(x),n(x),使,pn(x)=a00(x)+a11(x)+ann(x),不同的基函数的选取导致不同的插值方法,Lagrange插值,Newton插值,代数多项式插值的基本思想,两节点-一次(线性)插值,两节点-一次(线性)插值,两节点-一次(线性)插值,两节点-一次(线性)插值,两节点-一次(线性)插值,Functiony=chazhi1(x0,y0,x1,y1,x)%拉格朗日插值法y=(x-x1)/(x0-x1)*y0+(x-x0)/(x1-x0)*y1Functiony=chazhi1(x0,y0,x1,y1,x)%牛顿插值法y=y0+(y1-y0)/(x1-x0)*(x-x0),Matlab编程实现,三节点-二次插值,三节点-二次插值,三节点-二次插值,Functiony=chazhi1(x0,y0,x1,y1,x2,y2,x)%拉格朗日插值法y=(x-x1)*(x-x2)/(x0-x1)*(x0-x2)*y0+(x-x0)*(x-x2)/(x1-x0)*(x1-x2)*y1+(x-x0)*(x-x1)/(x2-x0)*(x2-x1)*y2Functiony=chazhi1(x0,y0,x1,y1,x2,y2,x)%牛顿插值法y=y0+(y1-y0)/(x1-x0)*(x-x0)+(x-x0)*(x-x1)*(y2-y1)/(x2-x1)-(y1-y0)/(x1-x0)/(x2-x0),Matlab编程实现,三节点-二次插值,三节点-逐次线性插值,functionchazhi1%一次插值x0=pi/6;y0=1/2;x1=pi/4;y1=1/sqrt(2);x=pi/180*50;y=chazhi12(x0,y0,x1,y1,x)error=y-sin(x)functiony=chazhi11(x0,y0,x1,y1,x)%拉格朗日插值法y=(x-x1)/(x0-x1)*y0+(x-x0)/(x1-x0)*y1;functiony=chazhi12(x0,y0,x1,y1,x)%牛顿法y=y0+(y1-y0)/(x1-x0)*(x-x0);,解:(一次插值),functionchazhi2%二次插值x0=pi/6;y0=1/2;x1=pi/4;y1=1/sqrt(2);x2=pi/3;y2=sqrt(3)/2;x=pi/180*50;y=chazhi22(x0,y0,x1,y1,x2,y2,x)%选择插值函数error=y-sin(x)functiony=chazhi21(x0,y0,x1,y1,x2,y2,x)%拉格朗日插值法y=(x-x1)*(x-x2)/(x0-x1)*(x0-x2)*y0+(x-x0)*(x-x2)/.(x1-x0)*(x1-x2)*y1+(x-x0)*(x-x1)/(x2-x0)*(x2-x1)*y2;functiony=chazhi22(x0,y0,x1,y1,x2,y2,x)%牛顿插值法y=y0+(y1-y0)/(x1-x0)*(x-x0)+(x-x0)*(x-x1)*.(y2-y1)/(x2-x1)-(y1-y0)/(x1-x0)/(x2-x0);,解:(二次插值),N+1节点-N次插值,Lagrange插值基函数,(2),与节点有关,而与f无关,这里每个lj(x)都是n次多项式,且由(1)式容易验证lj(x)满足,j=0,1,,n(1),对任意的pn(x)Pn,都有pn(x)=c0l0(x)+c1l1(x)+cnln(x)其中c0,c1,cn为组合系数。,可以证明函数组l0(x),l1(x),,ln(x)在插值区间a,b上线性无关,所以这n+1个函数可作为Pn的一组基函数,称为Lagrange插值基函数。,Lagrange插值基函数,由Lagrange插值基函数满足(2)式可知,方程组变成,因此得到插值多项式pn(x)=f(x0)l0(x)+f(x1)l1(x)+f(xn)ln(x),记为Ln(x)f(xj)lj(x),称Ln(x)为n次Lagrange插值多项式,插值余项/*Remainder*/,定理若,在a,b内存在,则在a,b上,的n+1个互异的点,对f(x)所作的n次Lagrange插值多项式Ln(x)有误差估计,RollesTheorem的推论:若充分光滑,且,证明:由于Rn(xi)0,i=0,1,,n,任意固定xxi(i=0,n),考察,(t)有n+2个不同的根x0xnx,解:,n=1,分别利用x0,x1以及x1,x2计算,利用,sin50=0.7660444,利用x0,x1作为插值节点的实际误差0.01001,利用,计算得:sin500.76008,利用x1,x2作为插值节点的实际误差0.00596,n=2,sin50=0.7660444,2次插值的实际误差0.00061,functionmain%N次插值x0=pi/6;y0=1/2;x1=pi/4;y1=1/sqrt(2);x2=pi/3;y2=sqrt(3)/2;xy=x0 x1x2;y0y1y2;x=pi/180*50;y=chazhiN1(xy,x)error=y-sin(x),Matlab编程实现,N+1节点-N次插值,functiony=chazhiN1(xy,x)%拉格朗日插值法y=0;N=size(xy,2);fori=1:NL=1;forj=1:Nifi=jL=L*(x-xy(1,j)/(xy(1,i)-xy(1,j);endendy=L*xy(2,i)+y;end,牛顿插值(NewtonsInterpolation),Lagrange插值虽然易算,但若要增加一个节点时,全部基函数li(x)都需要重新计算。,能否重新在Pn中寻找新的基函数?,希望每加一个节点时,只附加一项上去即可。,1,x-x0,(x-x0)(x-x1),(x-x0)(x-x1)(x-xn-1)是否构成Pn的一组基函数?,利用插值条件Nn(xj)=f(xj),j=0,1,n代入上式,得关于Ak(k=0,1,n)的线性代数方程组,牛顿插值法的基函数,当xj互异时,系数矩阵非奇异,且容易求解,基函数,Howcomplextheexpressionare!,差商(亦称均差)/*divideddifference*/,称为在xi,xj处的1阶差商,称为在xi,xj,xk处的2阶差商,k阶差商:,利用插值条件和差商,可求出Nn(x)的系数Ai:,Newton插值多项式,因此,每增加一个结点,Newton插值多项式只增加一项,克服了Lagrange插值的缺点。,Newton插值多项式,.xkf(xk)一阶差商二阶差商三阶差商n阶差商,差商表,例1:给定f(x)=lnx的数据表xi2.202.402.602.803.00f(xi)0.788460.875470.955511.029621.098611.构造差商表2.分别写出二次、四次Newton插值多项式解:差商表,N2(x)=0.78846+0.43505(x-2.20)-0.087375(x-2.20)(x-2.40)N4(x)=0.78846+0.43505(x-2.20)-0.087375(x-2.20)(x-2.40)+0.0225(x-2.20)(x-2.40)(x-2.60)-0.00755(x-2.20)(x-2.40)(x-2.60)(x-2.80),functionmain%N次插值x0=pi/6;y0=1/2;x1=pi/4;y1=1/sqrt(2);x2=pi/3;y2=sqrt(3)/2;xy=x0 x1x2;y0y1y2;x=pi/180*50;y=chazhiN1(xy,x)error=y-sin(x),Matlab编程实现,N+1节点-N次插值,functiony=chazhiN2(xy,x)%牛顿法N=size(xy,2);f=zeros(N,N);%差商矩阵f(:,1)=xy(2,:);x0=xy(1,:);y=f(1);sx=1;fori=2:Nsx=sx*(x-x0(i-1);forj=i:Nf(j,i)=(f(j,i-1)-f(j-1,i-1)/(x0(j)-x0(j-i+1);endy=y+f(i,i)*sx;end,其他插值方法,样条插值埃尔米特(Hermitte)插值,本章作业,给定某系统的运动满足函数y=exp(-t)*sint,求该函数的拉格朗日和牛顿插值函数。要求:1、根据该函数的图形特征,设定一些节点。2、根据节点个数,写出拉格朗日和牛顿插值函数的程序。3、在同一坐标中绘出被插函数、拉格朗日插值函数、牛顿插值函数的曲线。4、分析其插值效果及影响因素。,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!