《数值分析插值报告(共29页).doc》由会员分享,可在线阅读,更多相关《数值分析插值报告(共29页).doc(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上 目录第1章 插值法的研究.1 1.1 插值法的简介.1 1.2 插值法的相关概念.2 1.3 插值法的相关理论.2 1.4 插值法的国外研究进展.3 1.5 插值法的国内研究现状.3第2章 算法研究.4 2.1 多项式研究.4 2.2 拉格朗日插值.5 2.2.1 拉格朗日插值法典型例题及其解法.6 2.3 牛顿插值.7 2.3.1 牛顿插值法典型例题及其解法.8 2.4 龙格现象.9 2.5 分段线性插值多项式.12 2.5.1 分段线性插值.12 2.5.2 分段三次艾尔米特插值.13 2.6 三次样条插值.162.6.1 样条函数.162.6.2 三次样条函数
2、.16 2.6.3 三次样条函数插值.16 2.7 插值方法的比较.18第3章 插值法的应用.19 3.1 插值法在所学专业的应用.19 3.2 插值法在其他专业的应用.19第4章 算法展望.20 4.1 插值方法在所学专业的展望.20第5章 附录.21 插值法及其应用研究第一章 插值法的描述1.1、插值法的简介在许多实际问题及科学研究中,因素之间往往存在着函数关系,然而,这种关系经常很难有明显的解析表达,通常只是由观察与测试得到一些离散数值。有时,即使给出了解析表达式,却由于表达式过于复杂,不仅使用不便,而且不易于进行计算与理论分析。解决这类问题的方法有两种:一种是插值法,另一种是拟合法。插
3、值法是一种古老的数学方法,它来自生产实践,早在一千多年前,我国科学家在研究历法上就应用了线性插值与二次插值,但它的基本理论却是在微积分产生之后才逐渐完善的,其应用也日益增多,特别是在计算机软件中,许多库函数,如等的计算实际上归结于它的逼近函数的计算。逼近函数一般为只含有算术运算的简单函数,如多项式、有理分式(即多项式的商)。在工程实际问题当中,我们也经常会碰到诸如此类的函数值计算问题。被计算的函数有时不容易直接计算,如表达式过于复杂或者只能通过某种手段获取该函数在某些点处的函数值信息或者导数值信息等。因此,我们希望能用一个“简单函数”逼近被计算函数,然后用该简单函数的函数值近似替代被计算函数的
4、函数值。这种方法就叫插值逼近或者插值法。插值法要求给出函数的一个函数表,然后选定一种简单的函数形式,比如多项式、分段线性函数及三角多项式等,通过已知的函数表来确定一个简单的函数作为的近似,概括地说,就是用简单函数为离散数组建立连续模型。1.2、插值法的相关概念插值法又称“内插法”,是利用函数在某区间中若干点的函数值,作出适当的特定函数,在这些点上取已知值,在区间的其他点上用这特定函数的值作为函数的近似值,这种方法称为插值法。插值法的一般定义:设函数在区间上有定义,且已知在点上的值,若存在一简单函数,使成立,就称为的插值函数,点称为插值节点,包含插值节点的区间成为插值区间,求插值函数的方法称为插
5、值法。若是次数不超过的代数多项式,即其中为实数,就称为插值多项式,相应的插值法称为多项式。若为分段的多项式,就称为分段插值,若为三角多项式,就称为三角插值。1.3、插值法的相关理论要解决实际问题就必须有试验数据或者观测数据,根据这些数据希望找到某种内在规律的数量关系,从而确定出实际问题中存在的函数关系。应用插值法就可以做到这些数学理论上期望。插值问题的提法:已知个节点,(,其中互不相同,不妨设),求任一插值点处的函数值。节点可视为由产生,表达式复杂或无解析形式或者未知。求解插值问题的基本思路:构造一个相对简单的函数通过全部节点,即:再用计算插值,即。插值多项式具有:存在性、唯一性、收敛性。1.
6、4、插值法的国外研究进展插值理论是在17世纪微积分产生以后才逐步发展的,牛顿的等距节点插值公式及均差插值公式都是当时的重要成果。18世纪,拉格朗日给出了更一般的非等距节点上的插值公式。近半世纪由于计算机的广泛使用和造船、航空、精密机械加工等实际问题的需要,使插值法在理论上和实践上得到进一步发展,尤其是20世纪40年代后发展起来的样条插值,更获得广泛应用,成为计算机图形学的基础。在近代,插值法是观测数据处理和函数制表所常用的工具,又是导出其他许多数值方法(例如数值积分、非线性方程求解、微分方程数值解等)的依据。1.5、插值法的国内研究现状插值法是一种古老的数学方法,它来自生产实践.早在一千多年前
7、,我国科学家在研究历法时就应用了线性插值与二次插值,但它的基本理论却是在微积分产生以后才逐步完善的,其应用也日益广泛.特别是由于计算机的使用和航空、造船、精密机械加工等实际问题的需要,使插值法在理论上和实践上得到进一步发展.尤其是近几十年发展起来的样条(Spline)插值,获得了极为广泛的应用,并成为计算机图形学的基础.第二章 算法研究2.1、多项式插值:设在区间上给定个点上的函数值,求次数不超过的多项式使 (1-1)由此可得到关于系数的元线性方程组此方程组系数矩阵为称为范德蒙德矩阵,由于互译,故因此,线性方程组的解存在且唯一,于是有结论:满足(1-1)的插值多项式是存在唯一的,以上可以看出直
8、接求解方程组就可以得到插值多项式。虽然这个过程直观易懂,但它都不是建立插值多项式最好的办法,因为范德蒙(Vandermonde)方程组有可能是病态的,这样会导致单项式系数不确定。另外,单项式中的各项可能在大小上有很大的差异,这就导致了多项式计算中的舍入误差。下面是观察范德蒙矩阵的病态的实验结果: Ln(cond(A)- n之间的曲线如下:说明:随着n的增大,ln(cond(A)也线性增大,即cond(A)呈线性指数上升趋势,当n去一个较大的值时,cond(A)会相当大,方程组呈现病态。2.2、拉格朗日基本插值公式进行插值:若次多项式在个节点上满足条件 (1-2)就称这个次多项式为节点上的次插值
9、基函数。对及时的情况面前已经讨论。用类似的推导方法,可得到次插值基函数为 (1-3)显然它满足上述条件(1-2)。于是,满足上述条件的插值多项式可表示为 (1-4)由的定义知:形如(1-4)式的插值多项式称为拉格朗日插值多项式。2.2.1 拉格朗日插值法典型例题及其解法例1:设函数,已知下列数据点:利用拉格朗日插值公式计算函数在处的近似值。解:根据拉格朗日插值公式有代入数据得 例2:已知,构造二次拉格朗日插值多项式,计算。解:(1)以插值点(27,3), (64,4), (125,5)代入插值公式,得=与单项式基本函数插值多项式相比,拉格朗日插值有2个重要优点首先,建立插值多项式不需要求解方程
10、组;其次,它的估计值受舍入误差要小得多。拉格朗日插值公式结构紧凑,在理论分析中很方便,但是,当插值节点增加、减少或其位置变化时全部插值函数均要随之变化,从而整个插值公式的结构也将发生变化,这在实际计算是非常不利的。2.3、使用牛顿均差插值公式进行多项式进行插值:首先,定义均差, 在上的一阶均差,其中。在,的二阶均差,阶均差。由此得出牛顿均值插值多项式的公式为实际计算中经常利用下表给出的均差表直接构造牛顿插值公式一阶均差二阶均差三阶均差2.3.1 Newton插值法典型例题及其解法例:已知函数的函数表如下:0.400.550.650.800.901.050.410 750.578 150.696
11、 750.888 111.026 521.253 82求四次牛顿插值多项式,并由此求的近似值。分析表中给出六对数据,故最高可构造五次多项式。但由于0.596接近于,因此可取前五对数据来做差商表。解构造差商表如下:一阶差商二阶差商三阶差商四阶差商0.400.550.650.800.900.410 750.578 150.696 750.888 111.026 521.116 001.186 001.275 731.384 100.280 000.358 930.433 480.197 330.213 000.031 34故四次牛顿插值多项式为 于是0.631 95。 凡是拉格朗日插值解决的问题牛
12、顿插值多项式都可以解决,不仅如此,更重要的是牛顿均值克服了拉格朗日插值多项式的缺点,当需要提高近似值的精确度而增加结点时,它不必重新计算,只要在后面再计算一项均插即可,减少了计算量,不用计算全部系数,节约了大量人力,物力,财力。增加插值多项式的阶数并不一定能增加插值的精度,据定义,插值式, 可以与结点处的实际函数匹配,但却不能保证支点之间求,还能很好的逼近产生数据的实际函数。例如,如果为一个已知的解析函数,而且定义的节点集合中数据点的数目可以增加(多项式的阶数也增加),但是,由于的起伏增加,那么插值式就可能在节点见振带,基于当实际函数平滑时,这种多项式摆动也可能发生,这种振荡不是由多项式摆动引
13、起的,而是由多项式的项相加来求插值多项式时发生舍入误差造成的。有时多项式摆动可通过谨慎选择基础函数的取样来成为,但如果数据是由不容易重复实验取得的,就不能这么做了,这会用下面介绍分段插值法。2.4 龙格现象:在插值节点较多的情况下,用前面所讲的方法,能够求出次数较高的插值多项式,但插值多项式的次数不是越高越好。 对于函数f(x)=5/(a2+x2)进行拉格朗日插值,取不同的节点数n,在区间-5,5上取等距间隔的节点为插值点,把f(x)和插值多项式的曲线画在同一张图上进行比较。(a可以取任意值)具体步骤: 1、 a=1时,1)取n=4,作出f(x)和插值多项式的曲线图; 2)取n=10,作出f(
14、x)和插值多项式的曲线图; 2、 a=0.25时,1)取n=4,作出f(x)和插值多项式的曲线图; 2)取n=10,作出f(x)和插值多项式的曲线图; 3、 分析上述曲线图,得出结论a=1时,取n=4a=1时,取n=10a=0.25时,取n=4a=0.25时,取n=10 上述现象和定理告诉我们,并不是插值多项式的次数越高(即插值节点越多)精度越高,从数值计算上可解释为高次插值多项式的计算会带来舍入误差的增大,从而引起计算失真。因此,实际应用做插值时一般只用一次、二次最多用三次插值多项式。 那么如何提高插值精度呢?采用分段插值是一种办法。2.5、分段插值多项式2.5.1、分段线性插值:分段线性插
15、值就是通过插值点用折线段连接起来逼近。设已知节点上的函数值,记,求一折线函数满足:(1);(2);(3)在每个小区间上是线性函数,则称为分段线性插值函数。由定义可知在没每个小区间上可表示为分段线性插值的误差估计可利用插值余项 得到2.5.2 分段三次埃尔米特插值 为清楚起见,先用三次埃尔米特插值的构造方法加以解释, 三次埃尔米特插值的做法是,在上寻找一个次数不超过3的多项式它满足插值条件相应的插值基函数为于是有如果函数满足条件:满足插值条件:.在每个小区间上是三次多项式。则称为的分段三次埃尔米特插值多项式。根据分段线性插值和三次埃尔米特插值公式可得到的表达式其中,称为以节点的分段三次埃尔米特插
16、值基函数,对于给定个插值点和其相应函数值和一阶函数值.2.5.3 分段三次埃尔米特插值的误差限。记为在上的基于等距节点的分段三次埃尔米特插值函数。,在区间上有而最值进而得误差估计显然,分段三次埃尔米特插值可以产生平滑变化的插值式,但它有一个明显的缺点,就是在每个界点处的函数斜率必须已知,而从实验中获得的数据,这个斜率就不存在。下面要介绍的三次样条插值可以解决这个问题,同时能得到插值式所期望的光滑度。2.6、三次样条插值2.6.1. 样条函数在上取个插值结点已知函数在这个点的函数值为则在上函数的次样条插值函数满足:(1) 在上直到阶导数连续;(2) ;(3)在区间上是次多项式。2.6.2 .三次
17、样条函数在上函数的三次样条插值函数满足:(1)在上0、1、2阶导数连续,即:(2) ;(3)在区间上是三次多项式。2.6.3. 三次样条函数的计算由二阶导数连续,设,是未知待定的数。因是分段三次多项式,则在每个区间内, 是分段一次多项式,记则: 将上式在区间上积分两次,并且由 ,来确定两个积分常数。当时,利用一阶导数连续的性质,对上式求导,得:在上式中,令得:将上式中的换成,得: 在上的表达式,将代入,而联立上述两式,得到关于的方程:,两边乘以得:,上式中,等式左边含未知量, 等式右边, 是已知的,令,则得: 三次样条插值的整体光滑性有提高,应用广泛,但其误差估计较困难,而且它的求解代价很大,
18、且精确度受端点条件影响很大。2.7 插值方法的比较2.7.1. 插值法的优缺点分析 拉格朗日插值的优缺点:拉格朗日插值法的公式结构整齐紧凑,在理论分析中十分方便,然而在计算中,当插值点增加或减少一个时,所对应的基本多项式就需要全部重新计算,于是整个公式都会变化,非常繁锁。此外,当插值点比较多的时候,拉格朗日插值多项式的次数可能会很高,因此具有的特点,也就是说尽管在已知的几个点取到给定的数值,但在附近却会和“实际上”的值之间有很大的偏差。 牛顿插值的优点:在计算插值多项式及求解函数近似值都比较方便且计算量相对较小。从公式中可以看出:每增加一个节点,插值多项式只增加一项,因此便于递推运算,所以其具
19、有灵活增加节点的优点。两者的共同点:两者都是通过给定个互异的插值节点,让你求一条次代数曲线近似地表示待插值的函数曲线,都属于代数插值的范畴。而且拉格朗日插值和牛顿法插值的余项也都是一致的;两者的不同点:牛顿插值的计算量比拉格朗日要省,更利于程序设计。由插值多项式的唯一性可知,次牛顿插值多项式与次拉格朗日插值多项式是等价的,即,它们只是表示形式不同。因此,牛顿余项和拉格朗日余项也是等价的。但是牛顿仅对节点处的函数作了约束,如果插值条件再增加节点处对导数的限制的话,解决这个问题的方法就是要利用埃尔米特插值多项式。但是由于高次插值存在不稳定性,一般实际计算很少使用高次插值,更多的使用分段低次插值。
20、分段三次埃尔米特插值可以产生平滑变化的插值式,但它有一个明显的缺点,就是在每个界点处的函数斜率必须已知,而从实验中获得的数据,这个斜率就不存在。 三次样条插值的整体光滑性有提高,应用广泛,但其误差估计较困难,而且它的求解代价很大,且精确度受端点条件影响很大。 第三章 插值法的应用3.1. 插值法在所学专业的应用二次插值在有源电力滤波器中的应用与改进 随着电力系统中非线性用电设备,尤其是电力电子装置应用的日益广泛,电力系统中谐波污染问题也愈发严重。谐波不仅降低电能的生产、传输和利用的效率,而且给供电、用电设备的正常运行带来严重的危险,还会对通信设备和电子设备产生严重的干扰。大多数电力电子装置的功
21、率因数较低,也给电网带来额外负担,影响供电质量。有源电力滤波器是目前综合治理电网污染的最有效手段之一。一般的有源电力滤波器都要经过采样、谐波计算、控制策略、逆变输出,利用逆变输出一个与谐波电流等幅、同相的补偿电流与电网的谐波电流相抵,从而达到滤波的目的。由于滤波器整个过程需要一定的计算量,而器件的运算速度又不可能无限快,使得实际的补偿电流比理想的补偿电流存在一定的延迟,这样就会影响补偿精度。利用预测的方法可以消除因器件的固有延迟带来的影响,但预测算法的精度以及跟踪特性也会影响系统的精度。采用二次插值的外插值法,并对其改进,通过仿真证明这种方法可以改善有源电力滤波器的补偿效果。有源电力滤波器的谐
22、波电流检测与抑制过程中,由于A /D变换、复杂的谐波检测算法和控制算法使得数字处理器的输出具有一定的延迟,难以满足滤波器实时性的要求。二次插值的外插法具有计算简单、误差较小的优点。提出用改进后的二次插值的外插值法对谐波进行预测,可以有效地提高APF的实时性,仿真结果表明了这种算法的有效性。3.2. 插值法方法在其他领域的应用自动加药机的药剂添加一般采用电磁阀添加和计量泵添加两种方式,其中常用的方式就是通过控制电磁阀的开启时间来达到控制药剂的添加量的目的。由于多种因素的影响,电磁阀的开启时间与药剂添加量不是简单的比例关系,因此在计算机上更改药剂添加量时,需重新标定才能确保加药的精度,操作比较麻烦
23、,所以可采用牛顿插值计算法来自动更改标定值,这样既减少了标定的繁琐劳动,又确保了加药精度。加药量等于加药阀门流量和加药时间的乘积,阀门流量在不同加药量时是变化的,因此更改加药量时,需要对加药阀门的流量进行标定。 第四章 算法展望 4.1 插值法在所学专业展望智能控制是控制科学发展的高级阶段,神经网络就是智能控制的一个分支,神经网络主要用于非线性系统的辨识建模,非线性过程的预测。插值法在神经网络中得到了一些应用。神经网络中径向基函数网络是在借鉴生物局部调节和交叠接受区域知识的基础上提出的一种采用局部接受域来执行函数映射的人工神经网络。径向基函数最基本的构成包括三层,每一层都有着完全不同的作用。输
24、入层由一些源点组成,它们将网络与外界环境连接起来;第二层是网络中仅有的一个隐层,它的作用是进行从输入空间到隐层空间的非线性变换。隐层节点中的作用函数(基函数)对输入信号将在局部产生响应,也就是说,当输入信号靠近基函数的中央范围时,隐层节点将产生较大的输出,由此看出这种网络具有局部逼近的能力。径向基函数是以函数逼近理论为基础而构造的一类前向网络。插值是函数逼近或者数值逼近的重要组成部分,是通过已知的离散点集M上的约束,求取一个定义在连续集合S(M包含于S)的未知连续函数,从而达到获取整体规律的目的,即通过“窥几斑”来达到“知全豹”。径向基网络的工作原理从函数逼近的观点看:若把网络看成是对未知函数
25、的逼近,则任何函数都可以表示成一组基函数的加权和,在径向基网络中,相当于选择隐含层神经元的传输函数,使之构成一组基函数逼近未知函数。 第五章 附录用MATLAB的库函数cond完成 多项式范德蒙试验算法(源程序) function y=tiaojianshu(x)for i=1:x n=i;B=;A=ones(n+1,1);for j=1:n+1 a(j)=(j-1)/n;endfor i=1:n+1B=B;for k=1:nA=A,B.*A(:,K);end A y=log(cond(A); plot(n,y,.r); xlable(n);ylable(ln(cond(A); hold on
26、end拉格朗日插值法的程序设计Lagrange程序1(多项式的构造):x0=0;x1=1.5;x2=5.1;y0=-1;y1=4.25;y2=35.21;m0=(x-x1)(x-x2)/(x0-x1)(x0-x2);m1=(x-x0)(x-x2)/(x1-x0)(x1-x2);m2=(x-x0)(x-x1)/(x2-x0)(x2-x1);Lx_,n_:=y0*m0+y1*m1+y2*m2Lx,nSimplify%/NLagrange程序2:x0=1;x1=10;x2=11;x3=15;x4=16;wx=Productx-xi,i,0,4;l0x=wx/(Dwx,x/.x-x0)/(x-x0);
27、l1x=wx/(Dwx,x/.x-x1)/(x-x1);l2x=wx/(Dwx,x/.x-x2)/(x-x2);l3x=wx/(Dwx,x/.x-x3)/(x-x3);l4x=wx/(Dwx,x/.x-x4)/(x-x4);y0=1;y1=2;y2=3;y3=4;y4=5;Lx_,n_:=y0*l0x+y1*l1x+y2*l2x+y3*l3x+y4*l4x;Lx,nExpand%Lagrange程序3(插值主程序):fx_:=ExpxA=Tablex,fx,x,0,0.8,0.2/Ng1=ListPlotTableA,Prolog-AbsolutePointSize18;Interpolati
28、onA,InterpolationOrder-3g2=Plot%x,x,0,0.8Showg1,g2N%0.12,20N%0.72,20Nf0.12,20Nf0.72,20牛顿插值法的程序设计Newton插值主程序:x0,x1,x2,x3,x4=10,11,12,13,14;yk_:=LogxkTableyk,k,0,4/N;MatrixForm%fi_,j_:=(yj-yi)/(xj-xi)Tablefi,i+1,i,0,3/N;MatrixForm%fi_,j_,k_:=(fj,k-fi,j)/(xk-xi)Tablefi,i+1,i+2,i,0,2/N;MatrixForm%fi_,j_
29、,k_,l_:=(fj,k,l-fi,j,k)/(xl-xi)Tablefi,i+1,i+2,i+3,i,0,1/N;MatrixForm%fi_,j_,k_,l_,m_:=(fj,k,l,m-fi,j,k,l)/(xm-xi)Tablefi,i+1,i+2,i+3,i+4,i,0,0/N;MatrixForm%A=y0,y1,y2,y3,y4,0,f0,1,f1,2,f2,3,f3,4, 0,0,f0,1,2,f1,2,3,f2,3,4,0,0,0,f0,1,2,3,f1,2,3,4, 0,0,0,0,f0,1,2,3,4;TransposeA/N;MatrixForm%a0=y0;a1=f
30、0,1;a2=f0,1,2;a3=f0,1,2,3;a4=f0,1,2,3,4;Nx=Sumak*Product(x-xm),m,0,k-1,k,0,4/NExpand%龙格现象:拉格朗日插值的调用函数 function y=lagrange(x0,y0,x) n=length(x0);m=length(x); for i=1:m z=x(i); L=0.0; for j=1:n T=1.0; for k=1:n if k=j T=T*(z-x0(k)/(x0(j)-x0(k); end end L=T*y0(j)+L; end y(i)=L; end a=1时, 1)取n=4 x0=-5:2
31、:5; y0=5./(1+x0.2); x=-5:0.1:5; y=lagrange(x0,y0,x); y1=5./(1+x.2); plot(x,y,-r)hold on plot(x,y1,-b) hold off2)取n=10x0=-5:1:5;y0=5./(1+x0.2);x=-5:0.1:5;y=lagrange(x0,y0,x);y1=5./(1+x.2);plot(x,y,-r)holdonplot(x,y1,-b)holdoff2、 a=0.25时, 1) 取n=4 x0=-5:2:5; y0=5./(0.25*0.25+x0.2); x=-5:0.1:5; y=lagrange(x0,y0,x); y1=5./(1+x.2); plot(x,y,-r) hold on plot(x,y1,-b) hold off 2) 取n=10 x0=-5:1:5; y0=5./(0.25*0.25+x0.2); x=-5:0.1:5; y=lagrange(x0,y0,x); y1=5./(1+x.2); plot(x,y,-r) hold on plot(x,y1,-b) hold off专心-专注-专业