第3讲插值PPT课件

上传人:m**** 文档编号:569494173 上传时间:2024-07-29 格式:PPT 页数:53 大小:767KB
返回 下载 相关 举报
第3讲插值PPT课件_第1页
第1页 / 共53页
第3讲插值PPT课件_第2页
第2页 / 共53页
第3讲插值PPT课件_第3页
第3页 / 共53页
第3讲插值PPT课件_第4页
第4页 / 共53页
第3讲插值PPT课件_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《第3讲插值PPT课件》由会员分享,可在线阅读,更多相关《第3讲插值PPT课件(53页珍藏版)》请在金锄头文库上搜索。

1、数数 学学 实实 验验 插插 值值1实验目的实验目的实验内容实验内容2、掌握、掌握Matlab求解插值问题的方法。求解插值问题的方法。1、了解插值的基本内容。、了解插值的基本内容。11一维插值一维插值22二维插值二维插值33实验作业实验作业2拉格朗日插值拉格朗日插值分段线性插值分段线性插值三次样条插值三次样条插值一一 维维 插插 值值一、一、插值的定义插值的定义二、插值的方法二、插值的方法三、用三、用Matlab解插值问题解插值问题返回返回3返回返回二二 维维 插插 值值一、一、二维插值定义二维插值定义二、网格节点插值法二、网格节点插值法三、用三、用MatlabMatlab解插值问题解插值问题

2、最邻近插值最邻近插值分片线性插值分片线性插值双线性插值双线性插值网格节点数据的插值网格节点数据的插值散点数据的插值散点数据的插值4一维插值的定义一维插值的定义已知已知 n+1个节点个节点其中其中互不相同,不妨设互不相同,不妨设求任一插值点求任一插值点处的插值处的插值节点节点(xi, yi i)可视为由可视为由产生,产生,表达式复杂表达式复杂,或无封闭形式或无封闭形式,或未知。或未知。5 构造一个构造一个(相对简单的相对简单的)函数函数通过全部节点通过全部节点, 即即再用再用计算插值,即计算插值,即返回返回6 称为称为拉格朗日插值基函数(插值基函数)拉格朗日插值基函数(插值基函数)。 已知函数已

3、知函数f(x)在在n+1个点个点x0,x1,xn处的函数值为处的函数值为 y0,y1,yn 。求一。求一n次多项式函数次多项式函数Pn(x),使其满足:,使其满足: Pn(xi)=yi,i=0,1,n. 解决此问题的拉格朗日插值多项式公式如下解决此问题的拉格朗日插值多项式公式如下其中其中Li(x) 为为n次多项式:次多项式:拉格朗日拉格朗日(Lagrange)(Lagrange)插值插值7特别地特别地:两点一次两点一次( (线性线性) )插值多项式插值多项式: :三点二次三点二次( (抛物抛物) )插值多项式插值多项式: :用用P Pn n(x)(x)计算插值的方法称为拉格朗日多项式插值。计算

4、插值的方法称为拉格朗日多项式插值。8 拉格朗日多项式插值的拉格朗日多项式插值的这种振荡现象叫这种振荡现象叫 RungeRunge现象现象 采用拉格朗日多项式插值:选取不同插值采用拉格朗日多项式插值:选取不同插值节点个数节点个数n+1,其中,其中n为插值多项式的次数,当为插值多项式的次数,当n分别取分别取2,4,6,8,10时,绘出插值结果图形时,绘出插值结果图形.例例返回返回To MatlabTo Matlablch(larg1)lch(larg1)910分段线性插值分段线性插值计算量与计算量与n n无关无关; ;n n越大,误差越小越大,误差越小. .xjxj-1xj+1x0xnxoy11T

5、o MATLABxch11,xch12,xch13,xch14返回返回例例用分段线性插值法求插值用分段线性插值法求插值,并观察插值误差并观察插值误差.1.在在-6,6中平均选取中平均选取5个点作插值个点作插值(xch11)4.在在-6,6中平均选取中平均选取41个点作插值个点作插值(xch14)2.在在-6,6中平均选取中平均选取11个点作插值个点作插值(xch12)3.在在-6,6中平均选取中平均选取21个点作插值个点作插值(xch13)12x=linspace(-6,6,100);x=linspace(-6,6,100);y=1./(x.2+1);y=1./(x.2+1);x1=linsp

6、ace(-6,6,5);x1=linspace(-6,6,5);y1=1./(x1.2+1);y1=1./(x1.2+1);plot(x,y,x1,y1,x1,y1,o,LineWidth, plot(x,y,x1,y1,x1,y1,o,LineWidth, 1.5), 1.5),gtext(n=4),gtext(n=4),1314x=linspace(-6,6,100);x=linspace(-6,6,100);y=1./(x.2+1);y=1./(x.2+1);x1=linspace(-6,6,11);x1=linspace(-6,6,11);y1=1./(x1.2+1);y1=1./(x

7、1.2+1);plot(x,y,x1,y1,x1,y1,o,LineWidthplot(x,y,x1,y1,x1,y1,o,LineWidth,1.5),1.5),gtext(n=10),gtext(n=10),1516load xyzmeshz(x,y,z),rotate3dxlabel(X),ylabel(Y),zlabel(Z)hold on;plot3(2000,2800,1100,c.,0,800,650,r.,4000,2000,950,r.,2000,4000,1320,r.,MarkerSize,30);1718x=linspace(-6,6,100);x=linspace(-

8、6,6,100);y=1./(x.2+1);y=1./(x.2+1);x1=linspace(-6,6,21);x1=linspace(-6,6,21);y1=1./(x1.2+1);y1=1./(x1.2+1);plot(x,y,x1,y1,x1,y1,o,LineWidt plot(x,y,x1,y1,x1,y1,o,LineWidt ,1.5), ,1.5),gtext(n=20),gtext(n=20),1920比分段线性插值更光滑。比分段线性插值更光滑。xyxi-1 xiab 在在数数学学上上,光光滑滑程程度度的的定定量量描描述述是是:函函数数(曲曲线线)的的k阶阶导导数数存存在在且

9、且连连续续,则则称称该该曲曲线线具具有有k阶阶光光滑性滑性。 光光滑滑性性的的阶阶次次越越高高,则则越越光光滑滑。是是否否存存在在较较低低次次的的分分段段多多项项式式达达到到较较高高阶阶光光滑滑性性的的方方法法?三三次次样条插值就是一个很好的例子。样条插值就是一个很好的例子。三次样条插值三次样条插值21 三次样条插值三次样条插值g g( (x x) )称为插值函数。称为插值函数。22例例用三次样条插值选取用三次样条插值选取1111个基点计算插值个基点计算插值(ych)(ych)返回返回To MATLABych(larg1)2324用用MATLABMATLAB作插值计算作插值计算一维插值函数:一

10、维插值函数:yi=interp1(x,y,xi,method)插值方法插值方法被插值点被插值点插值节点插值节点x xi i处的插处的插值结果值结果nearest nearest :最邻近插值:最邻近插值linear linear : 线性插值;线性插值;spline spline : 三次样条插值;三次样条插值;cubic cubic : 立方插值。立方插值。缺省时:缺省时: 分段线性插值。分段线性插值。 注意:所有的插值方法都要求注意:所有的插值方法都要求x x是单调的,并且是单调的,并且x xi i不不能够超过能够超过x x的范围。的范围。25 例:在例:在1-121-12的的1111小时

11、内,每隔小时内,每隔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;hours=1:12;temps=5 8 9 15 25 29 31 30 22 25 27 24;temps=5 8 9 15 25 29 31 30 22 25 27 24;h=1:0.1:12;h=1:0.1:12;t=interp1(hours,temps,h,

12、spline); (t=interp1(hours,temps,h,spline); (直接输出数据将直接输出数据将 是很多的是很多的) )plot(hours,temps,+,h,t,hours,temps,r:) %plot(hours,temps,+,h,t,hours,temps,r:) %作图作图xlabel(Hour),ylabel(Degrees Celsius)xlabel(Hour),ylabel(Degrees Celsius)2627xy机翼下机翼下轮廓线轮廓线例例 已知飞机下轮廓线上数据如下,求已知飞机下轮廓线上数据如下,求x x每改变每改变0.10.1时的时的y y值

13、。值。To MATLAB(plane)返回返回2829二维插值的定义二维插值的定义 xyO O第一种(网格节点):第一种(网格节点):30 已知已知 m n个节点个节点 其中其中互不相同,不妨设互不相同,不妨设 构造一个二元函数构造一个二元函数通过全部已知节点通过全部已知节点,即即再用再用计算插值,即计算插值,即31第二种(散乱节点):第二种(散乱节点): yx0 032已知已知n个节点个节点其中其中互不相同,互不相同, 构造一个二元函数构造一个二元函数通过全部已知节点通过全部已知节点,即即再用再用计算插值,即计算插值,即返回返回33 注意:最邻近插值一般不连续。具有连续性的最简单注意:最邻近

14、插值一般不连续。具有连续性的最简单的插值是分片线性插值的插值是分片线性插值。最邻近插值最邻近插值x y(x1, y1)(x1, y2)(x2, y1)(x2, y2)O O 二维或高维情形的最邻近插值,与被插值点最邻近的二维或高维情形的最邻近插值,与被插值点最邻近的节点的函数值即为所求。节点的函数值即为所求。返回返回34 将将四四个个插插值值点点(矩矩形形的的四四个个顶顶点点)处处的的函函数数值值依依次次简记为:简记为:分片线性插值分片线性插值xy (xi, yj)(xi, yj+1)(xi+1, yj)(xi+1, yj+1)O Of (xi, yj)=f1,f (xi+1, yj)=f2,

15、f (xi+1, yj+1)=f3,f (xi, yj+1)=f435插值函数为:插值函数为:第二片第二片(上三角形区域上三角形区域):(x, y)满足满足插值函数为:插值函数为:注意:注意:(x, y)当然应该是在插值节点所形成的矩形区当然应该是在插值节点所形成的矩形区域内。显然,分片线性插值函数是连续的;域内。显然,分片线性插值函数是连续的;分两片的函数表达式如下分两片的函数表达式如下:第一片第一片(下三角形区域下三角形区域): (x, y)满足满足返回返回36 双线性插值是一片一片的空间二次曲面构成。双线性插值是一片一片的空间二次曲面构成。双线性插值函数的形式如下:双线性插值函数的形式如

16、下:其中有四个待定系数,利用该函数在矩形的四个顶其中有四个待定系数,利用该函数在矩形的四个顶点(插值节点)的函数值,得到四个代数方程,正点(插值节点)的函数值,得到四个代数方程,正好确定四个系数。好确定四个系数。双线性插值双线性插值x y(x1, y1)(x1, y2)(x2, y1)(x2, y2)O O返回返回37要求要求x0,y0x0,y0单调;单调;x x,y y可取可取为矩阵,或为矩阵,或x x取行向取行向量,量,y y取为列向量,取为列向量,x,yx,y的值分别不能超出的值分别不能超出x0,y0x0,y0的范围。的范围。z=interp2(x0,y0,z0,x,y,method)被

17、插值点被插值点插值方法插值方法用用MATLABMATLAB作网格节点数据的插值作网格节点数据的插值插值插值节点节点被插值点被插值点的函数值的函数值nearest nearest 最邻近插值最邻近插值linear linear 双线性插值双线性插值cubic cubic 双三次插值双三次插值缺省时缺省时, , 双线性插值双线性插值38例:测得平板表面例:测得平板表面3*53*5网格点处的温度分别为:网格点处的温度分别为: 82 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 8

18、6 试作出平板表面的温度分布曲面试作出平板表面的温度分布曲面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个单位的地方进行插值个单位的地方进行插值.39再输入以下命令再输入以下命令: :xi=1:0.2:5;xi=1:0.2:5;yi=1:0.2:3;

19、yi=1:0.2:3;zi=interp2(x,y,temps,xi,yi,cubic);zi=interp2(x,y,temps,xi,yi,cubic);mesh(xi,yi,zi)mesh(xi,yi,zi)画出插值后的温度分布曲面图画出插值后的温度分布曲面图. . To MATLAB(wendu)404142通过此例对最近邻点插值、双线性插值方法和双三次插值方法的插值效通过此例对最近邻点插值、双线性插值方法和双三次插值方法的插值效果进行比较。果进行比较。To MATLAB (moutain)返回返回434445464748 插值函数插值函数griddata格式为格式为: cz =gri

20、ddata(x,y,z,cx,cy,method)用用MATLABMATLAB作散点数据的插值计算作散点数据的插值计算 要求要求cxcx取行向量,取行向量,cycy取为列向量取为列向量。被插值点插值方法插值节点被插值点的函数值nearest nearest 最邻近插值最邻近插值linear linear 双线性插值双线性插值cubic cubic 双三次插值双三次插值v4- Matlabv4- Matlab提供的插值方法提供的插值方法缺省时缺省时, , 双线性插值双线性插值49 例例 在某海域测得一些点在某海域测得一些点(x,y)(x,y)处的水深处的水深z z由下由下表给出,船的吃水深度为表

21、给出,船的吃水深度为5 5英尺,在矩形区域(英尺,在矩形区域(7575,200200)* *(-50-50,150150)里的哪些地方船要避免进入。)里的哪些地方船要避免进入。50To MATLAB hd1返回返回4.4.作出水深小于作出水深小于5 5的海域范围的海域范围, ,即即z=5z=5的等高的等高线线. .51实验作业实验作业山区地貌:在某山区测得一些地点的高程如下表:山区地貌:在某山区测得一些地点的高程如下表:( (平面区平面区域域1200=x=4000,1200=y=3600)1200=x=4000,1200=y=3600),试作出该山区的地貌试作出该山区的地貌图和等高线图,并对几种插值方法进行比较。图和等高线图,并对几种插值方法进行比较。返回返回52个人观点供参考,欢迎讨论

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

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