《第3讲 数学建模的插值法精选文档.ppt》由会员分享,可在线阅读,更多相关《第3讲 数学建模的插值法精选文档.ppt(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第3讲 数学建模的插值法本讲稿第一页,共三十四页2实验目的实验目的实验内容实验内容2、掌握用数学软件包求解插值问题。、掌握用数学软件包求解插值问题。1、了解插值的基本内容。、了解插值的基本内容。11一维插值一维插值22二维插值二维插值33实验作业实验作业本讲稿第二页,共三十四页3拉格朗日插值拉格朗日插值分段线性插值分段线性插值三次样条插值三次样条插值一一 维维 插插 值值一、一、插值的定义插值的定义二、插值的方法二、插值的方法三、用三、用Matlab解插值问题解插值问题返回返回本讲稿第三页,共三十四页4返回返回二维插值二维插值一、二维插值定义一、二维插值定义二、网格节点插值法二、网格节点插值法
2、三、用三、用MatlabMatlab解插值问题解插值问题最邻近插值最邻近插值分片线性插值分片线性插值双线性插值双线性插值网格节点数据的插值网格节点数据的插值散点数据的插值散点数据的插值本讲稿第四页,共三十四页5一维插值的定义一维插值的定义已知已知 n+1个节点个节点其中其中互不相同,不妨设互不相同,不妨设求任一插值点求任一插值点处的插值处的插值节点可视为由节点可视为由产生产生表达式复杂表达式复杂,或无封闭形式或无封闭形式,或未知或未知.。本讲稿第五页,共三十四页6 构造一个构造一个(相对简单的相对简单的)函数函数通过全部节点通过全部节点,即即再用再用计算插值,即计算插值,即返回返回本讲稿第六页
3、,共三十四页7 称为拉格朗日插值基函数拉格朗日插值基函数。已知函数f(x)在n+1个点x0,x1,xn处的函数值为 y0,y1,yn。求一n次多项式函数Pn(x),使其满足:Pn(xi)=yi,i=0,1,n.解决此问题的拉格朗日插值多项式公式如下其中Li(x)为n次多项式:拉格朗日拉格朗日(Lagrange)插值插值本讲稿第七页,共三十四页8拉格朗日拉格朗日(Lagrange)插值插值特别地特别地:两点一次两点一次(线性线性)插值多项式插值多项式:三点二次三点二次(抛物抛物)插值多项式插值多项式:本讲稿第八页,共三十四页9 拉格朗日多项式插值的这种振荡现象叫 Runge现象现象 采用拉格朗日
4、多项式插值:选取不同插值节点个数n+1,其中n为插值多项式的次数,当n分别取2,4,6,8,10时,绘出插值结果图形.例例返回返回To MatlabTo Matlablch(larg1)lch(larg1)本讲稿第九页,共三十四页10分段线性插值分段线性插值计算量与n无关;n越大,误差越小.xjxj-1xj+1x0 xnxoy本讲稿第十页,共三十四页11To MATLABxch11,xch12,xch13,xch14返回返回例例用分段线性插值法求插值用分段线性插值法求插值,并观察插值误差并观察插值误差.1.在在-6,6中平均选取中平均选取5个点作插值个点作插值(xch11)4.在在-6,6中平
5、均选取中平均选取41个点作插值个点作插值(xch14)2.在在-6,6中平均选取中平均选取11个点作插值个点作插值(xch12)3.在在-6,6中平均选取中平均选取21个点作插值个点作插值(xch13)本讲稿第十一页,共三十四页12比分段线性插值更光滑。比分段线性插值更光滑。xyxi-1 xiab 在数学上,光滑程度的定量描述是:函数(曲线)的k阶导数存在且连续,则称该曲线具有k阶光滑性。光滑性的阶次越高,则越光滑。是否存在较低次的分段多项式达到较高阶光滑性的方法?三次样条插值就是一个很好的例子。三次样条插值三次样条插值本讲稿第十二页,共三十四页13 三次样条插值g g(x x)为被插值函数为
6、被插值函数。本讲稿第十三页,共三十四页14例例用三次样条插值选取用三次样条插值选取11个基点计算插值个基点计算插值(ych)返回返回To MATLABych(larg1)本讲稿第十四页,共三十四页15用用MATLABMATLAB作插值计算作插值计算一维插值函数:一维插值函数:yi=interp1(x,y,xi,method)插值方法插值方法被插值点被插值点插值节点插值节点xixi处的插处的插值结果值结果nearest :最邻近插值:最邻近插值linear :线性插值;线性插值;spline :三次样条插三次样条插值;值;cubic :立方插值。立方插值。缺省时:缺省时:分段线性插值。分段线性插
7、值。注意:所有的插值方法注意:所有的插值方法都要求都要求x x是单调的,并且是单调的,并且xi不不能够超过能够超过x的范围。的范围。本讲稿第十五页,共三十四页16 例:在例:在1-121-12的的1212小时内,每隔小时内,每隔1 1小时测量一次温度,测小时测量一次温度,测得的温度依次为:得的温度依次为:5 5,8 8,9 9,1515,2525,2929,3131,3030,2222,2525,2727,2424。试估计每隔。试估计每隔1/101/10小时的温度值。小时的温度值。hours=1:12;temps=5 8 9 15 25 29 31 30 22 25 27 24;h=1:0.1
8、:12;t=interp1(hours,temps,h,spline);plot(hours,temps,+,h,t,hours,temps,r:)%作图xlabel(Hour),ylabel(Degrees Celsius)%摄氏度本讲稿第十六页,共三十四页17二维插值的定义二维插值的定义 xyO O第一种(网格节点):第一种(网格节点):本讲稿第十七页,共三十四页18 已知已知 m n个节点个节点 其中其中互不相同,不妨设互不相同,不妨设 构造一个二元函数构造一个二元函数通过全部已知节点通过全部已知节点,即即再用再用计算插值,即计算插值,即本讲稿第十八页,共三十四页19第二种(散乱节点):
9、第二种(散乱节点):yx0 0本讲稿第十九页,共三十四页20已知已知n个节点个节点其中其中互不相同,互不相同,构造一个二元函数构造一个二元函数通过全部已知节点通过全部已知节点,即即再用再用计算插值,即计算插值,即返回返回本讲稿第二十页,共三十四页21 注意:注意:最邻近插值一般不连续。具有连续性的最简单的插值是分片线性插值。最邻近插值最邻近插值x y(x1,y1)(x1,y2)(x2,y1)(x2,y2)O O 二维或高维情形的最邻近插值,与被插值点最邻近的节点的函数值即为所求。返回返回本讲稿第二十一页,共三十四页22 将四个插值点(矩形的四个顶点)处的函数值依次简记为:分片线性插值分片线性插
10、值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本讲稿第二十二页,共三十四页23插值函数为:第二片(上三角形区域):(x,y)满足插值函数为:注意注意:(x,y)当然应该是在插值节点所形成的矩形区域内。显然,分片线性插值函数是连续的;分两片的函数表达式如下:第一片(下三角形区域):(x,y)满足返回返回本讲稿第二十三页,共三十四页24 双线性插值是一片一片的空间二次曲面构成。双线性插值函数的形式如下:其中有四个待定系数,利用该函数在矩形的四个顶点(
11、插值节点)的函数值,得到四个代数方程,正好确定四个系数。双线性插值双线性插值x y(x1,y1)(x1,y2)(x2,y1)(x2,y2)O O返回返回本讲稿第二十四页,共三十四页25 要求要求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 最邻近
12、插值最邻近插值linearlinear 双线性插值双线性插值cubiccubic 双三次插值双三次插值缺省时缺省时,双线性插值双线性插值本讲稿第二十五页,共三十四页26例:测得平板表面例:测得平板表面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 86 试作出平板表面的温度分布曲面试作出平板表面的温度分布曲面z=f(x,y)z=f(x,y)的图形。的图形。输入以下命令:x=1:5;y=1:3;temps=82 81
13、 80 82 84;79 63 61 65 81;84 84 82 85 86;mesh(x,y,temps)1.先在三维坐标画出原始数据,画出粗糙的温度分布曲图.2以平滑数据,在x、y方向上每隔0.2个单位的地方进行插值.本讲稿第二十六页,共三十四页27再输入以下命令:xi=1:0.2:5;yi=1:0.2:3;zi=interp2(x,y,temps,xi,yi,cubic);mesh(xi,yi,zi)画出插值后的温度分布曲面图.本讲稿第二十七页,共三十四页28 插值函数插值函数griddata格式为格式为:cz=griddata(x,y,z,cx,cy,method)用用MATLABM
14、ATLAB作散点数据的插值计算作散点数据的插值计算 要求要求cxcx取行向量,取行向量,cycy取为取为列向量。列向量。被插值点插值方法插值节点被插值点的函数值nearestnearest 最邻近插值最邻近插值linearlinear 双线性插值双线性插值cubiccubic 双三次插值双三次插值v4-Matlab提供的插值方法提供的插值方法缺省时缺省时,双线性插值双线性插值本讲稿第二十八页,共三十四页29 例例 在某海域测得一些点在某海域测得一些点(x,y)(x,y)处的水深处的水深z z由下表给出,由下表给出,船的吃水深度为船的吃水深度为5 5英尺,在矩形区域(英尺,在矩形区域(7575,
15、200200)*(-50-50,150150)里的哪些地方船要避免进入。)里的哪些地方船要避免进入。本讲稿第二十九页,共三十四页30To MATLAB hd14.作出水深小于5的海域范围,即z=5的等高线.3.3.作海底曲面图作海底曲面图本讲稿第三十页,共三十四页31clearx=129 140 103.5 88 185.5 195 105.5 157.5 107.5 77 81 162 162 117.5;y=7.5 141.5 23 147 22.5 137.5 85.5-6.5-81 3 56.5-66.5 84-33.5;z=-4-8-6-8-6-8-8-9-9-8-8-9-4-9;c
16、x=75:0.5:200;cy=-50:0.5:150;cz=griddata(x,y,z,cx,cy,cubic);meshz(cx,cy,cz),rotate3dxlabel(X),ylabel(Y),zlabel(Z)%pausefigure(2),contour(cx,cy,cz,-5-5);%等高线内部的深度小于5米gridhold onplot(x,y,+)xlabel(X),ylabel(Y)本讲稿第三十一页,共三十四页32xy机翼下轮廓线 1 1、已知飞机下轮廓线上数据如下,求、已知飞机下轮廓线上数据如下,求x每改变每改变0.1时的时的y值。值。作业作业本讲稿第三十二页,共三十四页33 通过此例对最近邻点插值、双线性插值方法和双三次插值方法的插值效果进行比较。本讲稿第三十三页,共三十四页343 3丙烷的导热系数是化工生产中值得注意的量,而且常常需要在不同温度及压力下的导热系数,然而我们不可能也没有必要过细地实验测量,经过实验,给出数据如表1所示,表中的分别表示温度、压力、导热系数,并假设在这个范围内导热系数近似的随压力线性变化,求压力为10.13KN/m2且温度为99下的导热系数。本讲稿第三十四页,共三十四页