专题二 插值与拟合

上传人:豆浆 文档编号:53680472 上传时间:2018-09-04 格式:PPT 页数:60 大小:621.50KB
返回 下载 相关 举报
专题二 插值与拟合_第1页
第1页 / 共60页
专题二 插值与拟合_第2页
第2页 / 共60页
专题二 插值与拟合_第3页
第3页 / 共60页
专题二 插值与拟合_第4页
第4页 / 共60页
专题二 插值与拟合_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《专题二 插值与拟合》由会员分享,可在线阅读,更多相关《专题二 插值与拟合(60页珍藏版)》请在金锄头文库上搜索。

1、专题二 数值分析之 插值与拟合,制作: 陈学明,插值与拟合,插值与拟合属数值分析中函数逼近内容。在数学建模中,插值与拟合是一种常用的数据分析手段,被公认为建模中的十大算法之一。,插值问题与拟合问题,矿井中某处的瓦斯浓度 y 与该处距地面的距离x有关,现用仪器测得从地面到井下500米每隔50米的瓦斯浓度数据(xi,yi) (i=0,1,10),根据这些数据完成下列工作: (1) 寻找一个函数,要求由此函数可近似求得从地面到井下500米之间任意点处的瓦斯浓度;(2) 估计井下600米处的瓦斯浓度。,第一个问题可归结为“已知函数在x0,x1,xn处的值,求函数在区间x0,xn内其它点处的值”,这种问

2、题适宜用插值方法解决。插值问题可描述为:已知函数在x0,x1,xn处的值y0,y1,yn,求函数p(x),使p(xi) = yi。 但对第二个问题不宜用插值方法,因为600米已超出所给数据范围,用插值函数外推插值区间外的数据会产生较大的误差。解决第二个问题的常用方法是,根据地面到井下 500 处的数据求出瓦斯浓度与地面到井下距离x之间的近似函数关系f(x), 由f(x)求井下600米处的瓦斯浓度。 插值函数过已知点,拟合函数不一定过已知点。通常, 插值主要用于求函数值,而拟合的主要目的是求函数关系。当然,某些问题既可以用插值也可以用拟合。,插 值,插值需要首先构造一个正好通过各已知点的函数y=

3、f(x),即对于已知点xi,yi,i=1,2,,有f(xi)=yi(然后求解插值点x*处的函数值y*=f(x*)。,常用插值方法,一维插值-一个自变量 线性插值、一次插值 非线性插值 二次插值 三次插值 三次样条插值 二维插值-两个自变量,拉格朗日插值,在数值分析中,拉格朗日插值法是以法国十八世纪数学家约瑟夫路易斯拉格朗日命名的一种多项式插值方法。许多实际问题中都用函数来表示某种内在联系或规律,而不少函数都只能通过实验和观测来了解。如对实践中的某个物理量进行观测,在若干个不同的地方得到相应的观测值,拉格朗日插值法可以找到一个多项式,其恰好在各个观测的点取到观测到的值。这样的多项式称为拉格朗日(

4、插值)多项式。数学上来说,拉格朗日插值法可以给出一个恰好穿过二维平面上若干个已知点的多项式函数。拉格朗日插值法最早被英国数学家爱德华华林于1779年发现1,不久后(1783年)由莱昂哈德欧拉再次发现。1795年,拉格朗日在其著作师范学校数学基础教程中发表了这个插值方法,从此他的名字就和这个方法联系在一起,拉格朗日(Lagrange)插值,已知函数f(x)在n+1个点x0,x1,xn处的函数值为 y0,y1,yn 。求一n次多项式函数Pn(x),使其满足: Pn(xi)=yi,i=0,1,n. 解决此问题的拉格朗日插值多项式公式如下,其中Li(x) 为n次多项式:,拉格朗日(Lagrange)插

5、值,特别地: 两点一次(线性)插值多项式 三点二次(抛物)插值多项式,线性插值,线性插值的几何意义:用通过A、B两点的直线近似地代替曲线 y=f(x)。 由解析几何知道,这条直线用点斜式表示为,抛物插值,抛物插值又称二次插值,它也是常用的代数插值之一。设已知f(x)在三个互异点x0,x1,x2的函数值y0,y1,y2,要构造次数不超过二次的多项式 使满足二次插值条件:,拉格朗日插值多项式,两个插值点可求出一次插值多项式,而三个插值点可求出二次插值多项式。插值点增加到n+1个时,也就是通过n+1个不同的已知点来构造一个次数为n的代数多项式P(x)。 拉格朗日插值多项式结构对称,使用方便。但由于是

6、用基函数构成的插值,这样要增加一个节点时,所有的基函数必须全部重新计算,不具备承袭性,还造成计算量的浪费。 多数情况下,Lagrange插值法效果是不错的,但随着节点数n的增大,Lagrange多项式的次数也会升高,可能造成插值函数的收敛性和稳定性变差。如龙格(Runge)现象。,高次插值中的Runge现象,通常选用多项式作为插值函数。在研究插值问题的初期,所有人都认为插值多项式的次数越高,插值精度越高。 Runge 通过对一个例子的研究发现,上述结论仅仅在插值多项式的次数不超过 七时成立;插值多项式的次数超过七时,插值多项式会出现严重的振荡现象,称之为Runge现象。 避免 Runge 现象

7、的常用方法是:将插值区间分成若干小区间,在小区间内用低次 (二次,三次) 插值,即分段低次插值,如样条函数插值 。,考察函数,右图给出了 和 的图像,当n 增大时, 在两端 会发出激烈的振荡 ,这就是所谓龙格现 象。该现象表明,在 大范围内使用高次 插值,逼近的效果往 往是不理想的,高次多项式插值产生的不收敛现象-Runge 现象,插值多项式的误差,在插值区间a, b上用插值多项式p(x)近似代替f(x), 除了在插值节点xi上没有误差外,在其它点上一般是存在误差的。 若记 R (x) = f(x) - p(x) 则 R(x) 就是用 p(x) 近似代替 f(x) 时的截断误差, 或称插值余项

8、。,x0x1 xixi+1 xn-1 xn,y=f(x),y=p(x),a,b,分段线性插值法,从舍入误差来看,高次插值误差的传播也较为严重,在一个节点上产生的舍入误差会在计算中不断扩大,并传播到其它节点上。因此,次数太高的高次插值多项式并不实用,因为节点数增加时,计算量增大了,但插值函数的精度并未提高。 为克服在区间上进行高次插值所造成的龙格现象,采用分段插值的方法,将插值区间分成若干个小的区间,在每个小区间进行线性插值,然后相互连接,用连接相邻节点的折线逼近被插函数,这种把插值区间分段的方法就是分段线性插值法。,分段线性插值法,分段线性插值法在几何上就是用折线替代曲线,样条函数插值法,给定

9、n+1个节点上的函数值可以作n次插值多项式,但当n较大时,高次插值不仅计算复杂,而且可能出现Runge现象,采用分段插值虽然计算简单、也有一致收敛性,但不能保证整条曲线在连接点处的光滑性 如分段线性插值,其图形是锯齿形的折线,虽然连续,但处都是“尖点”,因而一阶导数都不存在,这在实用上,往往不能满足某些工程技术的高精度要求。 如在船体、飞机等外形曲线的设计中,不仅要求曲线连续,而且要有二阶光滑度,即有连续的二阶导数这就要求分段插值函数在整个区间上具有连续的二阶导数。因此有必要寻求一种新的插值方法这就是样条函数插值法,三次样条函数,设函数定义在区间a, b上,给定n+1个 节点和一组与之对应的函

10、数值,若函数满足: 在每个节点上满足 S(xi)=f(xi)(i=0,1,n) 在a, b上有连续的二阶导数 在每个小区间xi,xi+1 (i=0,1,n-1) 上是一个三次多项式。 则称S(x)为三次样条插值函数。三次样条插值函数S(x)是一个分段三次多项式。 另一方面,要求分段三次多项式S(x)及其导数S(x)和S(x)在整个插值区间a,b上连续,则要求它们在各个子区间的连接点 上连续。,三次样条函数,用三次样条绘制的曲线不仅有很好的光滑度,而且当节点逐渐加密时,其函数值在整体上能很好地逼近被插函数,相应的导数值也收敛于被插函数的导数,不会发生龙格现象。因此三次样条在计算机辅助设计中有广泛

11、的应用。,一维插值函数,yi=interp1(x,y,xi,method),nearest 最邻近插值;linear 线性插值; spline 三次样条插值; cubic 立方插值; 缺省时 分段线性插值,注意:所有的插值方法都要求x是单调的,并且xi不能够超过x的范围,nearest 最邻近插值;linear 线性插值; spline 三次样条插值; cubic 立方插值; 缺省时 分段线性插值,nearest 最邻近插值;linear 线性插值; cubic 立方插值; spline 三次样条插值; 缺省时 分段线性插值,例:从1点12点的11小时内,每隔1小时测量一次温度,测得的温度的数

12、值依次为:5,8,9,15,25,29,31,30,22,25,27,24试估计每隔1/10小时的温度值,hours=1:12; temps=5 8 9 15 25 29 31 30 22 25 27 24; h=1:0.1:12; t=interp1(hours,temps,h,spline); plot(hours,temps,+,h,t,hours,temps,r:) %作图,例 已知飞机下轮廓线上数据如下,求x每改变0.1时的y值,x0=0 3 5 7 9 11 12 13 14 15 ; y0=0 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6 ; x=0:0

13、.1:15; %插值及作图在下页,plot(x0,y0,kp,x,y1,r),plot(x0,y0,kp,x,y2,r),plot(x0,y0,kp,x,y3,r),y1=interp1(x0,y0,x,nearest); y2=interp1(x0,y0,x); y3=interp1(x0,y0,x,spline);,二维插值函数(网格点),z=interp2(x0,y0,z0,x,y,method),nearest 最邻近插值; linear 双线性插值; cubic 双三次插值; 缺省时 双线性插值.,要求x0,y0单调;x,y可取为矩阵,或x取行向量,y取为列向量,x,y的值分别不能超

14、出x0,y0的范围,例:测得平板表面35网格点处的温度分别为: 82 81 80 82 84 79 63 61 65 81 84 84 82 85 86 试作出平板表面的温度分布曲面z=f(x,y)的图形,x=1:5; y=1:3; temps=82 81 80 82 84;79 63 61 65 81;84 84 82 85 86; mesh(x,y,temps),1.先在三维坐标画出原始数据,画出粗糙的温度分布曲线图.,xi=1:0.2:5; yi=1:0.2:3; zi=interp2(x,y,temps,xi,yi,cubic); mesh(xi,yi,zi) 画出插值后的温度分布曲面

15、图.,2以平滑数据,在 x、y方向上每隔0.2个单位的地方进行插值.,通过此例对最近邻点插值、双线性插值方法和双三次插值方法的插值效果进行比较,x=0:400:5600; y=0:400:4800; z=370 470 550 600 670 690 670 620 580 450 400 300 100 150 250;. 510 620 730 800 850 870 850 780 720 650 500 200 300 350 320;. 650 760 880 970 1020 1050 1020 830 900 700 300 500 550 480 350;. 740 880 1

16、080 1130 1250 1280 1230 1040 900 500 700 780 750 650 550;. 830 980 1180 1320 1450 1420 1400 1300 700 900 850 840 380 780 750;. 880 1060 1230 1390 1500 1500 1400 900 1100 1060 950 870 900 930 950;. 910 1090 1270 1500 1200 1100 1350 1450 1200 1150 1010 880 1000 1050 1100;. 950 1190 1370 1500 1200 1100

17、 1550 1600 1550 1380 1070 900 1050 1150 1200;. 1430 1430 1460 1500 1550 1600 1550 1600 1600 1600 1550 1500 1500 1550 1550;. 1420 1430 1450 1480 1500 1550 1510 1430 1300 1200 980 850 750 550 500;. 1380 1410 1430 1450 1470 1320 1280 1200 1080 940 780 620 460 370 350;. 1370 1390 1410 1430 1440 1140 1110 1050 950 820 690 540 380 300 210;. 1350 1370 1390 1400 1410 960 940 880 800 690 570 430 290 210 150; figure(1); meshz(x,y,z),

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号