《第5讲 插值PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第5讲 插值PPT讲稿.ppt(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第5讲 插值第1页,共35页,编辑于2022年,星期一拉格朗日插值拉格朗日插值分段线性插值分段线性插值三次样条插值三次样条插值一一 维维 插插 值值一、插值的定义一、插值的定义二、插值的方法二、插值的方法三、用三、用Matlab解插值问题解插值问题第2页,共35页,编辑于2022年,星期一二二 维维 插插 值值一、二维插值定义一、二维插值定义二、网格节点插值法二、网格节点插值法三、用三、用Matlab解插值问题解插值问题最邻近插值最邻近插值分片线性插值分片线性插值双线性插值双线性插值网格节点数据的插值网格节点数据的插值散点数据的插值散点数据的插值第3页,共35页,编辑于2022年,星期一一维插
2、值的定义一维插值的定义已知已知 n+1 n+1个节点个节点其中其中互不相同,不妨设互不相同,不妨设求任一插值点求任一插值点处的插值处的插值节点可视为由节点可视为由产生产生,表达式复杂表达式复杂,或无封闭形式或无封闭形式,或未知或未知.第4页,共35页,编辑于2022年,星期一 构造一个构造一个(相对简单的相对简单的)函数函数通过全部节点通过全部节点,即即再用再用计算插值,即计算插值,即第5页,共35页,编辑于2022年,星期一 称为拉格朗日插值基函数拉格朗日插值基函数。已知函数f(x)在n+1个点x0,x1,xn处的函数值为 y0,y1,yn。求一n次多项式函数Pn(x),使其满足:Pn(xi
3、)=yi,i=0,1,n.解决此问题的拉格朗日插值多项式公式如下其中Li(x)为n次多项式:拉格朗日拉格朗日(Lagrange)插值插值第6页,共35页,编辑于2022年,星期一拉格朗日拉格朗日(Lagrange)插值插值特别地特别地:两点一次两点一次(线性线性)插值多项式插值多项式:三点二次三点二次(抛物抛物)插值多项式插值多项式:第7页,共35页,编辑于2022年,星期一 拉格朗日多项式插值的这种振荡现象叫 Runge现象现象 采用拉格朗日多项式插值:选取不同插值节点个数n+1,其中n为插值多项式的次数,当n分别取2,4,6,8,10时,绘出插值结果图形.例例To MatlabTo Mat
4、lablch(larg1)lch(larg1)第8页,共35页,编辑于2022年,星期一分段线性插值分段线性插值计算量与n无关;n越大,误差越小.xjxj-1xj+1x0 xnxoy第9页,共35页,编辑于2022年,星期一To MATLABxch11,xch12,xch13,xch14例例用分段线性插值法求插值用分段线性插值法求插值,并观察插值误差并观察插值误差.1.在在-6,6中平均选取中平均选取5个点作插值个点作插值(xch11)4.在在-6,6中平均选取中平均选取41个点作插值个点作插值(xch14)2.在在-6,6中平均选取中平均选取11个点作插值个点作插值(xch12)3.在在-6
5、,6中平均选取中平均选取21个点作插值个点作插值(xch13)第10页,共35页,编辑于2022年,星期一机翼下轮廓线 三次样条插值三次样条插值样条函数的由来样条函数的由来飞机、船体、汽车外形等的放样(设计)飞机、船体、汽车外形等的放样(设计)细木条:样条细木条:样条第11页,共35页,编辑于2022年,星期一比分段线性插值更光滑。比分段线性插值更光滑。xyxi-1 xiab 在在数数学学上上,光光滑滑程程度度的的定定量量描描述述是是:函函数数(曲曲线线)的的k k阶导数存在且连续,则称阶导数存在且连续,则称该曲线具有该曲线具有k阶光滑性。阶光滑性。光光滑滑性性的的阶阶次次越越高高,则则越越光
6、光滑滑。是是否否存存在在较较低低次次的的分分段段多多项项式式达达到到较较高高阶阶光光滑滑性性的的方方法法?三三次次样样条条插插值值就就是是一一个个很很好好的的例例子。子。三次样条插值三次样条插值第12页,共35页,编辑于2022年,星期一 三次样条插值三次样条插值g(x)为被插值函数。为被插值函数。第13页,共35页,编辑于2022年,星期一用用MATLAB作插值计算作插值计算一维插值函数:一维插值函数:yi=interp1(x,y,xi,method)插值方法插值方法被插值点被插值点插值节点插值节点xi处的插处的插值结果值结果nearest :最邻近插值:最邻近插值linear :线性插值;
7、线性插值;spline :三次样条插三次样条插值;值;cubic :立方插值。立方插值。缺省时:缺省时:分段线性插值。分段线性插值。注意:所有的插值方法都要求注意:所有的插值方法都要求x是单调的,并且是单调的,并且xi不能够超过不能够超过x的范围。的范围。第14页,共35页,编辑于2022年,星期一例例用三次样条插值选取用三次样条插值选取11个基点计算插值个基点计算插值(ych)To MATLABych(larg1)第15页,共35页,编辑于2022年,星期一用用MATLAB作插值计算作插值计算为例,作三种插值的比较为例,作三种插值的比较以以 0 1.0000 1.0000 1.0000 1.
8、0000 0.5000 0.8000 0.8434 0.7500 0.8205 1.0000 0.5000 0.5000 0.5000 0.5000 1.5000 0.3077 0.2353 0.3500 0.2973 2.0000 0.2000 0.2000 0.2000 0.2000 2.5000 0.1379 0.2538 0.1500 0.1401 3.0000 0.1000 0.1000 0.1000 0.1000 3.5000 0.0755 -0.2262 0.0794 0.0745 4.0000 0.0588 0.0588 0.0588 0.0588 4.5000 0.0471
9、1.5787 0.0486 0.0484 5.0000 0.0385 0.0385 0.0385 0.0385 x y y1 y2 y3 用用n=11个节个节点,点,m=21个个插值点,三插值点,三种方法作插种方法作插值,画图。值,画图。chazhi1第16页,共35页,编辑于2022年,星期一插值的应用插值的应用加工时需要加工时需要x每改每改变变0.05时的时的y值值chazhi2图1 零件的轮廓线 (x间隔0.2)表表1 x间隔间隔0.2的加工坐标的加工坐标x,y(图(图1右半部的数据)右半部的数据)数控机床加工零件数控机床加工零件 0.0,5.000.2,4.710.4,4.310.6,
10、3.680.8,3.051.0,2.501.2,2.051.4,1.691.6,1.401.8,1.182.0,1.002.2,0.862.4,0.742.6,0.64模型模型 将图1逆时针方向转90度,轮廓线上下对称,只需对上半部计算一个函数在插值点的值。图图2 逆时针方向转逆时针方向转90度的结果度的结果令v=x,u=-y 第17页,共35页,编辑于2022年,星期一 例:在例:在1-121-12的的1111小时内,每隔小时内,每隔1 1小时测量一次温度,测小时测量一次温度,测得的温度依次为:得的温度依次为:5 5,8 8,9 9,1515,2525,2929,3131,3030,2222
11、,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:12;t=interp1(hours,temps,h,spline);(直接输出数据将是很多的)plot(hours,temps,+,h,t,hours,temps,r:)%作图xlabel(Hour),ylabel(Degrees Celsius)第18页,共35页,编辑于2022年,星期一xy机翼下轮廓线例例 已知飞机下轮廓线上数据如下,求已知飞机下
12、轮廓线上数据如下,求x每改变每改变0.1时的时的y值。值。To MATLAB(plane)第19页,共35页,编辑于2022年,星期一二维插值的定义二维插值的定义 xyO O第一种(网格节点):第一种(网格节点):第20页,共35页,编辑于2022年,星期一 已知已知 m n个节点个节点 其中其中互不相同,不妨设互不相同,不妨设 构造一个二元函数构造一个二元函数通过全部已知节点通过全部已知节点,即即再用再用计算插值,即计算插值,即第21页,共35页,编辑于2022年,星期一第二种(散乱节点):第二种(散乱节点):yx0 0第22页,共35页,编辑于2022年,星期一已知已知n个节点个节点其中其
13、中互不相同,互不相同,构造一个二元函数构造一个二元函数通过全部已知节点通过全部已知节点,即即再用再用计算插值,即计算插值,即第23页,共35页,编辑于2022年,星期一 注意注意:最邻近插值一般不连续。具有连续性的最简单的插值是分片线性插值。最邻近插值最邻近插值x y(x1,y1)(x1,y2)(x2,y1)(x2,y2)O O 二维或高维情形的最邻近插值,与被插值点最邻近的节点的函数值即为所求。第24页,共35页,编辑于2022年,星期一 将四个插值点(矩形的四个顶点)处的函数值依次简记为:分片线性插值分片线性插值xy (xi,yj)(xi,yj+1)(xi+1,yj)(xi+1,yj+1)
14、O Of(xi,yj)=f1,f(xi+1,yj)=f2,f(xi+1,yj+1)=f3,f(xi,yj+1)=f4第25页,共35页,编辑于2022年,星期一插值函数为:第二片(上三角形区域):(x,y)满足插值函数为:注意注意:(x,y)当然应该是在插值节点所形成的矩形区域内。显然,分片线性插值函数是连续的;分两片的函数表达式如下:第一片(下三角形区域):(x,y)满足第26页,共35页,编辑于2022年,星期一 双线性插值是一片一片的空间二次曲面构成。双线性插值函数的形式如下:其中有四个待定系数,利用该函数在矩形的四个顶点(插值节点)的函数值,得到四个代数方程,正好确定四个系数。双线性插
15、值双线性插值x y(x1,y1)(x1,y2)(x2,y1)(x2,y2)O O第27页,共35页,编辑于2022年,星期一 要求要求x0,y0 x0,y0单调;单调;x x,y y可取为矩阵,或可取为矩阵,或x x取行向量,取行向量,y y取为列向量,取为列向量,x,yx,y的值分别不能超出的值分别不能超出x0,y0 x0,y0的范围。的范围。z=interp2(x0,y0,z0,x,y,method)被插值点被插值点插值方法插值方法用用MATLAB作网格节点数据的插值作网格节点数据的插值插值插值节点节点被插值点被插值点的函数值的函数值nearestnearest 最邻近插最邻近插值值lin
16、earlinear 双线性插值双线性插值cubiccubic 双三次插值双三次插值缺省时缺省时,双线性插值双线性插值第28页,共35页,编辑于2022年,星期一例例:测得平板表面:测得平板表面3*5网格点处的温度分别为:网格点处的温度分别为: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.先在三
17、维坐标画出原始数据,画出粗糙的温度分布曲图先在三维坐标画出原始数据,画出粗糙的温度分布曲图.2以平滑数据以平滑数据,在在x、y方向上每隔方向上每隔0.2个单位的地方进行插值个单位的地方进行插值.第29页,共35页,编辑于2022年,星期一再输入以下命令: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)第30页,共35页,编辑于2022年,星期一 通过此例对最近邻点插值、双线性插值方法和双三次插值方法的插值通过此例对最近邻点插值、双线性插值方法和
18、双三次插值方法的插值效果进行比较。效果进行比较。To MATLAB (moutain)第31页,共35页,编辑于2022年,星期一 插值函数插值函数griddata格式为格式为:cz=griddata(x,y,z,cx,cy,method)用用MATLABMATLAB作散点数据的插值计算作散点数据的插值计算要求要求cx取行向量,取行向量,cy取为列向量。取为列向量。被插值点被插值点插值方法插值方法插值插值节点节点被插值点被插值点的函数值的函数值nearestnearest 最邻近插最邻近插值值linearlinear 双线性插值双线性插值cubiccubic 双三次插值双三次插值v4-Matl
19、abv4-Matlab提供的插值提供的插值方法方法缺省时缺省时,双线性插值双线性插值第32页,共35页,编辑于2022年,星期一 例例 在某海域测得一些点在某海域测得一些点(x,y)处的水深处的水深z由下表给出,由下表给出,船的吃水深度为船的吃水深度为5英尺,在矩形区域(英尺,在矩形区域(75,200)*(-50,150)里的哪些地方船要避免进入。)里的哪些地方船要避免进入。第33页,共35页,编辑于2022年,星期一To MATLAB hd14.作出水深小于5的海域范围,即z=5的等高线.第34页,共35页,编辑于2022年,星期一思考题思考题 山区地貌:山区地貌:在某山区测得一些地点的高程如下表:在某山区测得一些地点的高程如下表:(平面区域平面区域1200=x=4000,1200=y=3600)1200=x=4000,1200=y=3600),试作出该山区的地貌图和等高线,试作出该山区的地貌图和等高线图,并对几种插值方法进行比较。图,并对几种插值方法进行比较。第35页,共35页,编辑于2022年,星期一