用matlab进行数据插值讲稿.ppt
《用matlab进行数据插值讲稿.ppt》由会员分享,可在线阅读,更多相关《用matlab进行数据插值讲稿.ppt(107页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、关于用MATLAB进行数据插值第一页,讲稿共一百零七页哦 我们经常会遇到大量的数据需要处理,而处理我们经常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,例如数据拟合、参数数据的关键就在于这些算法,例如数据拟合、参数估计、插值等数据处理算法。此类问题在估计、插值等数据处理算法。此类问题在MATLAB中有很多现成的函数可以调用,熟悉中有很多现成的函数可以调用,熟悉MATLAB,这些方法都能游刃有余的用好。,这些方法都能游刃有余的用好。一、一、第二页,讲稿共一百零七页哦 数据拟合在很多赛题中有应用,与图形处数据拟合在很多赛题中有应用,与图形处理有关的问题很多与插值和拟合有关系,例如理有关
2、的问题很多与插值和拟合有关系,例如9898年美国赛年美国赛A A题,生物组织切片的三维插值处理,题,生物组织切片的三维插值处理,9494年年A A题逢山开路,山体海拔高度的插值计算,题逢山开路,山体海拔高度的插值计算,20032003年吵的沸沸扬扬的年吵的沸沸扬扬的“非典非典”问题也要用到数据拟问题也要用到数据拟合算法,观察数据的走向进行处理,合算法,观察数据的走向进行处理,20052005年的雨年的雨量预报的评价的插值计算。量预报的评价的插值计算。20012001年的公交车调度年的公交车调度拟合问题,拟合问题,20032003年的饮酒驾车拟合问题。年的饮酒驾车拟合问题。第三页,讲稿共一百零七
3、页哦预测点和实测点的图形预测点和实测点的图形插值后的图形插值后的图形第四页,讲稿共一百零七页哦喝两瓶酒的拟合曲线喝两瓶酒的拟合曲线喝喝1-5瓶酒的拟合曲线瓶酒的拟合曲线第五页,讲稿共一百零七页哦 在实际中,常常要处理由实验或测量所得在实际中,常常要处理由实验或测量所得到的一些离散数据。插值与拟合方法就是要通到的一些离散数据。插值与拟合方法就是要通过这些数据去确定某一类已知函数的参数或寻过这些数据去确定某一类已知函数的参数或寻求某个近似函数,使所得到的近似函数与已知求某个近似函数,使所得到的近似函数与已知数据有较高的拟合精度。数据有较高的拟合精度。如果要求这个近似函数(曲线或曲面)经如果要求这个
4、近似函数(曲线或曲面)经过所已知的所有数据点,则称此类问题为过所已知的所有数据点,则称此类问题为插值插值问题问题。(不需要函数表达式)(不需要函数表达式)二、二、第六页,讲稿共一百零七页哦 如果不要求近似函数通过所有数据点,而是如果不要求近似函数通过所有数据点,而是要求它能较好地反映数据变化规律的近似函数的要求它能较好地反映数据变化规律的近似函数的方法称为方法称为数据拟合数据拟合。(必须有函数表达式)。(必须有函数表达式)近似函数不一定(曲线或曲面)通过所有的近似函数不一定(曲线或曲面)通过所有的数据点。数据点。第七页,讲稿共一百零七页哦1 1、联系、联系都是根据实际中一组已知数据来构造一个能
5、够反映都是根据实际中一组已知数据来构造一个能够反映数据变化规律的近似函数的方法。数据变化规律的近似函数的方法。2 2、区别、区别插值问题插值问题不一定得到近似函数的表达形式,仅通过不一定得到近似函数的表达形式,仅通过插值方法找到未知点对应的值。插值方法找到未知点对应的值。数据拟合数据拟合要求得到要求得到一个具体的近似函数的表达式。一个具体的近似函数的表达式。三、插值与三、插值与第八页,讲稿共一百零七页哦 插插 值值 当数据量不够,需要补充,且认定已有数据可信时当数据量不够,需要补充,且认定已有数据可信时,通常通常利用函数插值方法。利用函数插值方法。实际问题当中碰到的函数实际问题当中碰到的函数
6、f(x)是各种各样的,有的是各种各样的,有的表达式很复杂,有的甚至给不出数学的式子,只提供了表达式很复杂,有的甚至给不出数学的式子,只提供了一些离散数据,警如,某些点上的函数值和导数值。一些离散数据,警如,某些点上的函数值和导数值。第九页,讲稿共一百零七页哦一一 维维 插插 值值一、插值的定义一、插值的定义二、插值的方法二、插值的方法三、用三、用Matlab解插值问题解插值问题返回返回第十页,讲稿共一百零七页哦返回返回二维插值二维插值一、二维插值定义一、二维插值定义二、网格节点插值法二、网格节点插值法三、用三、用MatlabMatlab解插值问题解插值问题最邻近插值最邻近插值分片线性插值分片线
7、性插值双线性插值双线性插值网格节点数据的插值网格节点数据的插值散点数据的插值散点数据的插值第十一页,讲稿共一百零七页哦一维插值的定义一维插值的定义已知已知 n+1个节点个节点,1,0(),(njyxjj其中其中jx互不相同,不妨设互不相同,不妨设),10bxxxan求任一插值点求任一插值点)(*jxx 处的插值处的插值.*y0 x1xnx0y1y节点可视为由节点可视为由)(xgy 产生产生,,g表达式复杂表达式复杂,,或无封闭形式或无封闭形式,,或未知或未知.。*x*y第十二页,讲稿共一百零七页哦 构造一个构造一个(相对简单的相对简单的)函数函数),(xfy 通过全部节点通过全部节点,即即),
8、1,0()(njyxfjj再用再用)(xf计算插值,即计算插值,即).(*xfy 0 x1xnx0y1y*x*y返回返回第十三页,讲稿共一百零七页哦 称为拉格朗日插值基函数拉格朗日插值基函数。n0iiiny)x(L)x(P 已知函数f(x)在n+1个点x0,x1,xn处的函数值为 y0,y1,yn。求一n次多项式函数Pn(x),使其满足:Pn(xi)=yi,i=0,1,n.解决此问题的拉格朗日插值多项式公式如下其中Li(x)为n次多项式:)xx()xx)(xx()xx)(xx()xx()xx)(xx()xx)(xx()x(Lni1ii1ii1i0in1i1i10i拉格朗日拉格朗日(Lagran
9、ge)插值插值第十四页,讲稿共一百零七页哦拉格朗日拉格朗日(Lagrange)插值插值特别地特别地:两点一次两点一次(线性线性)插值多项式插值多项式:101001011yxxxxyxxxxxL三点二次三点二次(抛物抛物)插值多项式插值多项式:2120210121012002010212yxxxxxxxxyxxxxxxxxyxxxxxxxxxL.,满足插值条件直接验证可知xLn第十五页,讲稿共一百零七页哦 拉格朗日多项式插值的这种振荡现象叫 Runge现象现象55,11)(2xxxg 采用拉格朗日多项式插值:选取不同插值节点个数n+1,其中n为插值多项式的次数,当n分别取2,4,6,8,10时,
10、绘出插值结果图形.例例返回返回To MatlabTo Matlablch(larg1)lch(larg1)第十六页,讲稿共一百零七页哦第十七页,讲稿共一百零七页哦分段线性插值分段线性插值其它,0,)()()(1111110jjjjjjjjjjjnjjjnxxxxxxxxxxxxxxxlxlyxLn越大,误差越小.nnnxxxxgxL0),()(limxjxj-1xj+1x0 xnxoy第十八页,讲稿共一百零七页哦To MATLABxch11,xch12,xch13,xch14返回返回66,11)(2xxxg例例用分段线性插值法求插值用分段线性插值法求插值,并观察插值误差并观察插值误差.1.在在
11、-6,6中平均选取中平均选取5个点作插值个点作插值(xch11)4.在在-6,6中平均选取中平均选取41个点作插值个点作插值(xch14)2.在在-6,6中平均选取中平均选取11个点作插值个点作插值(xch12)3.在在-6,6中平均选取中平均选取21个点作插值个点作插值(xch13)第十九页,讲稿共一百零七页哦第二十页,讲稿共一百零七页哦比分段线性插值更光滑。比分段线性插值更光滑。xyxi-1 xiab 在数学上,光滑程度的定量描述是:函数(曲线)的k阶导数存在且连续,则称该曲线具有k阶光滑性。光滑性的阶次越高,则越光滑。是否存在较低次的分段多项式达到较高阶光滑性的方法?三次样条插值就是一个
12、很好的例子。三次样条插值三次样条插值第二十一页,讲稿共一百零七页哦 三次样条插值,1,),()(1nixxxxsxSiii,)()3),1,0()()2),1()()10223niiiiiiixxCxSniyxSnidxcxbxaxs)1,1()()(),()(),()(111 nixsxsxsxsxsxsiiiiiiiiiiii自然边界条件)(0)()()40 nxSxS)(,)4)3)2xSdcbaiiiig g(x x)为被插值函数为被插值函数。)()(limxgxSn第二十二页,讲稿共一百零七页哦例例66,11)(2xxxg用三次样条插值选取用三次样条插值选取11个基点计算插值个基点计
13、算插值(ych)返回返回To MATLABych第二十三页,讲稿共一百零七页哦用用MATLABMATLAB作插值计算作插值计算一维插值函数:一维插值函数:yi=interp1(x,y,xi,method)插值方法插值方法被插值点被插值点插值节点插值节点xixi处的插处的插值结果值结果nearest :最邻近插值:最邻近插值linear :线性插值;线性插值;spline :三次样条插值三次样条插值;cubic :立方插值。立方插值。缺省时:缺省时:分段线性插值。分段线性插值。注意:所有的插值方法都要求注意:所有的插值方法都要求x x是单调的,并且是单调的,并且xi不能够超过不能够超过x的范围。
14、的范围。第二十四页,讲稿共一百零七页哦第二十五页,讲稿共一百零七页哦第二十六页,讲稿共一百零七页哦第二十七页,讲稿共一百零七页哦 例:在例:在1-121-12的的1111小时内,每隔小时内,每隔1 1小时测量一次温度,测小时测量一次温度,测得的温度依次为:得的温度依次为:5 5,8 8,9 9,1515,2525,2929,3131,3030,2222,2525,2727,2424。试估计每隔。试估计每隔1/101/10小时的温度值。小时的温度值。To MATLAB(temp)hours=1:12;temps=5 8 9 15 25 29 31 30 22 25 27 24;h=1:0.1:1
15、2;t=interp1(hours,temps,h,spline);(直接输出数据将是很多的)plot(hours,temps,+)hold onplot(h,t,hours,temps,r:)%作图xlabel(Hour),ylabel(Degrees Celsius)第二十八页,讲稿共一百零七页哦第二十九页,讲稿共一百零七页哦xy机翼下轮廓线X035791 11 21 31 41 5Y01.21.72.02.12.01.81.21.01.6例例 已知飞机下轮廓线上数据如下,求已知飞机下轮廓线上数据如下,求x每改变每改变0.1时的时的y值。值。To MATLAB(plane)返回返回第三十页
16、,讲稿共一百零七页哦第三十一页,讲稿共一百零七页哦二维插值的定义二维插值的定义 xyO O第一种(网格节点):第一种(网格节点):第三十二页,讲稿共一百零七页哦 已知已知 m n个节点个节点),2,1;,.,2,1(),(njmizyxijji 其中其中jiyx,互不相同,不妨设互不相同,不妨设bxxxam 21dyyycn 21 构造一个二元函数构造一个二元函数),(yxfz 通过全部已知节点通过全部已知节点,即即再用再用),(yxf计算插值,即计算插值,即).,(*yxfz ),1,0;,1,0(),(njmizyxfijji 第三十三页,讲稿共一百零七页哦第二种(散乱节点):第二种(散乱
17、节点):yx0 0第三十四页,讲稿共一百零七页哦已知已知n个节点个节点),.,2,1(),(nizyxiii 其中其中),(iiyx互不相同,互不相同,构造一个二元函数构造一个二元函数),(yxfz 通过全部已知节点通过全部已知节点,即即),1,0(),(nizyxfiii 再用再用),(yxf计算插值,即计算插值,即).,(*yxfz 返回返回第三十五页,讲稿共一百零七页哦 注意:注意:最邻近插值一般不连续。具有连续性的最简单的插值是分片线性插值。最邻近插值最邻近插值x y(x1,y1)(x1,y2)(x2,y1)(x2,y2)O O 二维或高维情形的最邻近插值,与被插值点最邻近的节点的函数
18、值即为所求。返回返回第三十六页,讲稿共一百零七页哦 将四个插值点(矩形的四个顶点)处的函数值依次简记为:分片线性插值分片线性插值xy (xi,yj)(xi,yj+1)(xi+1,yj)(xi+1,yj+1)O Of(xi,yj)=f1,f(xi+1,yj)=f2,f(xi+1,yj+1)=f3,f(xi,yj+1)=f4第三十七页,讲稿共一百零七页哦插值函数为:jii1ij1jy)xx(xxyyy)yy)(ff()xx)(ff(f)y,x(fj23i121第二片(上三角形区域):(x,y)满足iii1ij1jy)xx(xxyyy插值函数为:)xx)(ff()yy)(ff(f)y,x(fi43j
19、141注意注意:(x,y)当然应该是在插值节点所形成的矩形区域内。显然,分片线性插值函数是连续的;分两片的函数表达式如下:第一片(下三角形区域):(x,y)满足返回返回第三十八页,讲稿共一百零七页哦 双线性插值是一片一片的空间二次曲面构成。双线性插值函数的形式如下:)dcy)(bax()y,x(f其中有四个待定系数,利用该函数在矩形的四个顶点(插值节点)的函数值,得到四个代数方程,正好确定四个系数。双线性插值双线性插值x y(x1,y1)(x1,y2)(x2,y1)(x2,y2)O O返回返回第三十九页,讲稿共一百零七页哦 要求要求x0,y0 x0,y0单调;单调;x x,y y可取可取为矩阵
20、,或为矩阵,或x x取行向量取行向量,y y取为列向量,取为列向量,x,yx,y的值分别不能超出的值分别不能超出x0,y0 x0,y0的范围的范围。z=interp2(x0,y0,z0,x,y,method)被插值点插值方法用用MATLAB作网格节点数据的插值作网格节点数据的插值插值节点被插值点的函数值nearestnearest 最邻近插值最邻近插值linearlinear 双线性插值双线性插值cubiccubic 双三次插值双三次插值缺省时缺省时,双线性插值双线性插值第四十页,讲稿共一百零七页哦例:测得平板表面例:测得平板表面3 3*5 5网格点处的温度分别为:网格点处的温度分别为:82
21、81 80 82 84 82 81 80 82 84 79 63 61 65 81 79 63 61 65 81 84 84 82 85 86 84 84 82 85 86 试作出平板表面的温度分布曲面试作出平板表面的温度分布曲面z=f(x,y)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.先在三维坐标画出原始数据,画出粗糙的温度分布曲图.2以平滑数据,在x、y方向上每隔0.2个单位的地方进行插值.第四十一页,讲稿共一百零七页哦第四十二
22、页,讲稿共一百零七页哦再输入以下命令:xi=1:0.2:5;yi=1:0.2:3;zi=interp2(x,y,temps,xi,yi,cubic);mesh(xi,yi,zi)画出插值后的温度分布曲面图.To MATLAB(wendu)第四十三页,讲稿共一百零七页哦第四十四页,讲稿共一百零七页哦 例 x,y=meshgrid(-3:.6:3,-2:.4:2);z=(x.2-2*x).*exp(-x.2-y.2-x.*y);surf(x,y,z),第四十五页,讲稿共一百零七页哦 选较密的插值点,用默认的线性插值算法进行插值 x1,y1=meshgrid(-3:.2:3,-2:.2:2);z0=
23、interp2(x,y,z,x1,y1);surf(x1,y1,z0)第四十六页,讲稿共一百零七页哦立方和样条插值:z1=interp2(x,y,z,x1,y1,cubic);z2=interp2(x,y,z,x1,y1,spline);surf(x1,y1,z1),axis(-3,3,-2,2,-0.7,1.5)figure;surf(x1,y1,z2),axis(-3,3,-2,2,-0.7,1.5)第四十七页,讲稿共一百零七页哦 算法误差比较 z=(x1.2-2*x1).*exp(-x1.2-y1.2-x1.*y1);surf(x1,y1,abs(z-z1)figure;surf(x1,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 进行 数据 讲稿
限制150内