您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 数值计算方法—解线性方程组的迭代法
25数值分析—插值─基于Matlab的实现与分析§4多项式函数与函数的最佳逼近§4.1插值(Interpolation)§4.1.1问题的提出在工程地质测量、机械设计及其制造、信号分析等实践中,经常回遇到曲线的描绘或函数的确定问题,平面上的曲线方程可写成如下的形式xfy(1)一般情况下,人们能够知道的或者说能够得到的只是曲线上的若干点,如通过测量可以得到曲线上niyxii,,1,0,(2)的1n个点,由于信息不全,这1n个点不足以确定其所在的曲线,因而人们退一步地希望在充分利用这些数据的前提下,确定一条“简单的”且与未知曲线“最接近”的曲线;此外,在科学研究和计算中,往往回遇到复杂函数的分析与计算,有时用简单的函数来代替,可能会去掉不必要的麻烦而使问题比较容易地得到解决。只需对自变量做加、减法和乘法运算就能得到函数值是多项式函数显著的特点之一,因此,从计算的角度来说多项式函26数是最简单的,因此,在函数最佳逼近方面,“简单的函数(曲线)”指的就是多项式函数(类);所谓“最接近”或者严格地说最佳逼近,就是从指定的一类简单的函数中寻找一个和给定的函数“最贴近”的函数,从几何(空间)的角度看,函数最佳逼近就是从指定的一类简单的函数(点的集合)中寻找一个和给定的函数(定点)之间距离最短的函数(点)。函数空间中不同的距离度量确定了不同的逼近准则,不同的逼近准则定义了不同的函数最佳逼近。在插值问题中,最佳逼近准则是:在已知的全部点处,简单函数(被插值多项式)的函数值与未知函数的函数值相等,即kkyxPnk,,2,1,0(3)§4.1.2关于插值问题的基本定理定理:给定1n个曲线上点niyxii,,1,0,,,如果ix,ni,,1,0互不相同,那么,在所有次数不超过n次的多项式函数中,存在唯一的多项式函数xPn,满足条件(3)。证明:次数不超过n的多项式xPn可写成nnnxaxaaxP10(4)27的形式,要证明在所有次数不超过n次的多项式函数中,存在唯一的多项式函数xPn,满足条件(3),等价与证明线性方程组ininiinyxaxaaxP10ni,,1,0(5)即nnnnnnnyyyaaaxxxxxx10101100111(6)有唯一解,线性方程组(6)有唯一解的充分必要条件是系数矩阵满秩,因为方程组(6)的系数矩阵是Vandomonder矩阵,满秩的充分必要条件是ix,ni,,1,0互不相同,因此,当ix,ni,,1,0互不相同时,存在唯一的次数不超过n次的多项式满足条件(3)。§4.1.3构造插值多项式的方法1)一点说明可以通过解线性方程组(6),得到插值多项式(4)的系数1a,ni,,1,0,但是2)拉格朗日(Lagrange)插值法(1)构造插值多项式的基函数28nkkkkkkknkknkjjjkjkxxxxxxxxxxxxxxxxxxxxxxxxxL111011100nk,,2,1,0(7)(2)拉格朗日插值多项式nkkkyxLxL0(8)(3)简单的证明因为拉格朗日插值多项式的基函数有如下的性质:kjxxxxxxxxxLjknkjjjkjk,010nk,,2,1,0(9)所以拉格朗日插值多项式kkkknjjkjkyyxLyxLxL0nk,,2,1,0(10)满足插值的条件。(4)拉格朗日插值法的不足在实际问题中,观测的数据可能会不断增加,如果用拉格朗日插值公式构造插值多项式,那么,每当增加数据就要重新计算多项式的系数,由此增加许多不必要的计算工作量。3)牛顿(Newton)插值法29将插值多项式xPn写成下面的形式110102010nnnxxxxxxaxxxxaxxaaxP(11)其系数的确定有如下的特点:计算第k个系数只用到前k对数据,如000yxPan,010101011xxyyxxaxPan因此,当数据增加时,不需要重新计算已有的多项式系数,例如,在已得到插值多项式(11)的情况下,当新增加一对数据11,nnyx时,只需要在原有的插值多项式的基础上增加一项110nnxxxxxxa因此,对于新的插值多项式nnnnnxxxxxxaxxxxxxaxxxxaxxaaxP1011101020101只需要计算系数1na。304)简单的例子与高次多项式插值的Runge现象Plot_LangInterp-3-2-10123-4-3-2-101234RungePhenomenoninInterpolationwithHighDegreePolynomial31Plot_Runge-1-0.8-0.6-0.4-0.200.20.40.60.81-0.500.511.52RungePhenomenoninInterpolationwithHighDegreePolynomial----f(x)=1/(1+25x2)----InterpolationPolynomialofDegree105)分段低次多项式插值6)厄米特(Hermite)多项式插值如果插值条件为:mkkmkkkkyxPyxPyxP,,,nk,,2,1,0(3)这时的插值问题称为厄米特插值问题。327)(三次)样条(Spline)插值(1)插值条件要求所求的插值多项式xS(三次样条函数)a在每个区间kkxx,1,nk,,2,1,0,是次数不超过三次的多项式;bkkyxS,nk,,2,1,0;cxS在区间nxx,0上具有二阶连续导数。(2)确定三次样条函数的条件根据三次样条插值的要求,样条插值函数在每个小区间kkxx,1,nk,,2,1,0,上都是三次多项式,每个三次多项式有四个系数,总共需要确定n4个系数,因此,需要n4个条件才能保证唯一地确定满足要求的三次样条插值函数。已知条件b给出了1n条件:kkyxS,nk,,2,1,0;(4)33条件c要求xS在区间nxx,0上具有二阶连续导数,所以,插值函数在中间插值节点kx,1,,2,1nk,处,必须满足条件:00kkxSxS,1,,2,1nk;(5)00kkxSxS,1,,2,1nk;(6)00kkxSxS,1,,2,1nk;(7)这样已有24n个条件,还需要2个条件,才能保证对插值函数的唯一性要求;为此,通常在插值区间的端点处附加2个条件:1)定端点的斜率:固定边界条件:00yxS,nnyxS(8)2)给定端点的的二阶导数:自由边界条件:00yxS,nnyxS(9)3)期性条件:nmmxSxS02,1,0m(10)34(2)三次样条插值函数的构造1)设待求的三次样条插值函数xS在各插值节点处的一阶、二阶导数为kkmxS,nk,,2,1,0;(12)kkMxS,nk,,2,1,0;(13)由于插值函数xS在各小区间kkxx,1,nk,,2,1,0,上都是三次多项式,所以二阶导数xS是一次多项式,记kkkxxh1,1,,2,1,0nk(14)利用Lagrange插值公式,xS可表示为:11kkkkkkMhxxMhxxxS,1,,2,1,0nk(15)对式(15)的两端积分kkkkkkkkkkkkhxxDhxxCMhxxMhxxxS1133166351,,2,1,0nk(16)kkkkkkkkMhxSCCMhxS66221,,2,1,0nk(17)12112166kkkkkkkkMhxSDDMhxS1,,2,1,0nk(18)111221122162222kkkkkkkkkkkkkkkkkkkkkMMhhyyMhxxMhxxhDCMhxxMhxxxS1,,2,1,0nk(19)利用条件00kkxSxS,1,,2,1nk;(20)kkkkkkkkkMMhhyyMhxS1111162006211kkkkkkkkkxSMMhhyyMh1,,2,1,0nk(21)11111116626kkkkkkkkkkkkkhyyhyyMhMhhMh1,,2,1,0nk(22)令kkkkhhh11,kkkkhhh1,1,,2,1nk(23)36clearpackclfx=-pi:0.2:pi;xi=-pi:0.3:pi;f=x.*exp(x).*cos(x);y=csape(x,f,'complete',[1,-1]);fplot('t*exp(t)*cos(t)',[-pi,pi])holdonfnplt(y,'r')-3-2-10123-80-70-60-50-40-30-20-10010
本文标题:数值计算方法—解线性方程组的迭代法
链接地址:https://www.777doc.com/doc-2387563 .html