数学建模插值与拟合幻灯片.ppt
《数学建模插值与拟合幻灯片.ppt》由会员分享,可在线阅读,更多相关《数学建模插值与拟合幻灯片.ppt(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数学建模插值与拟合第1页,共51页,编辑于2022年,星期六 我们经常会遇到大量的数据需要处理,而处我们经常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,例如数据拟合、理数据的关键就在于这些算法,例如数据拟合、参数估计、插值等数据处理算法。此类问题在参数估计、插值等数据处理算法。此类问题在MATLAB中有很多现成的函数可以调用,熟悉中有很多现成的函数可以调用,熟悉MATLAB,这些方法都能游刃有余的用好。,这些方法都能游刃有余的用好。一、概述第2页,共51页,编辑于2022年,星期六 数据拟合在很多赛题中有应用,与图形处数据拟合在很多赛题中有应用,与图形处理有关的问题很多与插值和拟
2、合有关系,例如理有关的问题很多与插值和拟合有关系,例如9898年美国赛年美国赛A A题,生物组织切片的三维插值处题,生物组织切片的三维插值处理,理,9494年年A A题逢山开路,山体海拔高度的插值题逢山开路,山体海拔高度的插值计算,计算,20032003年吵的沸沸扬扬的年吵的沸沸扬扬的“非典非典”问题也问题也要用到数据拟合算法,观察数据的走向进行处要用到数据拟合算法,观察数据的走向进行处理,理,2005 2005年的雨量预报的评价的插值计算。年的雨量预报的评价的插值计算。20012001年的公交车调度拟合问题,年的公交车调度拟合问题,20032003年的饮酒年的饮酒驾车拟合问题。驾车拟合问题。
3、第3页,共51页,编辑于2022年,星期六插值问题插值问题雨量预报的评价雨量预报的评价预测点和实测点的图形预测点和实测点的图形插值后的图形插值后的图形第4页,共51页,编辑于2022年,星期六拟合问题拟合问题饮酒驾车饮酒驾车喝两瓶酒的拟合曲线喝两瓶酒的拟合曲线喝喝1-5瓶酒的拟合曲线瓶酒的拟合曲线第5页,共51页,编辑于2022年,星期六 在实际中,常常要处理由实验或测量所得在实际中,常常要处理由实验或测量所得到的一些离散数据。插值与拟合方法就是要通到的一些离散数据。插值与拟合方法就是要通过这些数据去确定某一类已知函数的参数或寻过这些数据去确定某一类已知函数的参数或寻求某个近似函数,使所得到的
4、近似函数与已知求某个近似函数,使所得到的近似函数与已知数据有较高的拟合精度。数据有较高的拟合精度。如果要求这个近似函数(曲线或曲面)经过如果要求这个近似函数(曲线或曲面)经过所已知的所有数据点,则称此类问题为所已知的所有数据点,则称此类问题为插值问插值问题题。(不需要函数表达式)(不需要函数表达式)二、基本概念第6页,共51页,编辑于2022年,星期六 如果不要求近似函数通过所有数据点,而如果不要求近似函数通过所有数据点,而是要求它能较好地反映数据变化规律的近似函是要求它能较好地反映数据变化规律的近似函数的方法称为数的方法称为数据拟合数据拟合。(必须有函数表达式)。(必须有函数表达式)近似函数
5、不一定(曲线或曲面)通过所有的近似函数不一定(曲线或曲面)通过所有的数据点。数据点。第7页,共51页,编辑于2022年,星期六1 1、联系、联系都是根据实际中一组已知数据来构造一个能够反映都是根据实际中一组已知数据来构造一个能够反映数据变化规律的近似函数的方法。数据变化规律的近似函数的方法。2 2、区别、区别插值问题插值问题不一定得到近似函数的表达形式,仅通过不一定得到近似函数的表达形式,仅通过插值方法找到未知点对应的值。插值方法找到未知点对应的值。数据拟合数据拟合要求得到要求得到一个具体的近似函数的表达式。一个具体的近似函数的表达式。三、插值与拟合的区别和联系第8页,共51页,编辑于2022
6、年,星期六四、插值的使用及求解 当数据量不够,需要补充,且认定已有数据可当数据量不够,需要补充,且认定已有数据可信时信时,通常利用函数插值方法。通常利用函数插值方法。实际问题当中碰到的函数实际问题当中碰到的函数 f(x)是各种各样是各种各样的,有的表达式很复杂,有的甚至给不出数学的式的,有的表达式很复杂,有的甚至给不出数学的式子,只提供了一些离散数据,警如,某些点上的函子,只提供了一些离散数据,警如,某些点上的函数值和导数值。数值和导数值。4.1 4.1 引言引言第9页,共51页,编辑于2022年,星期六 选选用用不不同同类类型型的的插插值值函函数数,逼逼近近的的效效果果就就不同,一般有:不同
7、,一般有:(1)拉格朗日插值()拉格朗日插值(lagrange插值)插值)(2)分段线性插值)分段线性插值(3)Hermite(4)三次样条插值。)三次样条插值。4.2 4.2 插值方法插值方法第10页,共51页,编辑于2022年,星期六 Matlab 实现:实现分段线性插值不需要编制实现:实现分段线性插值不需要编制函数程序,它自身提供了内部的功能函数函数程序,它自身提供了内部的功能函数interp1(一维插值一维插值)interp2(二维二维)interp3(三维三维)intern(n维维)4.3 MATLAB 4.3 MATLAB实现插值实现插值第11页,共51页,编辑于2022年,星期六
8、用用MATLAB作插值计算作插值计算一维插值函数:一维插值函数:yi=interp1(x,y,xi,method)插值方法插值方法被插值点被插值点插值节点插值节点xi处的插处的插值结果值结果nearest 最邻近插值;最邻近插值;linear 线性插值;线性插值;spline 三次样条插值;三次样条插值;cubic 立方插值;立方插值;缺省时缺省时 分段线性插值分段线性插值 注意:所有的插值方法注意:所有的插值方法都要求都要求x是单调的,并且是单调的,并且xi不不能够超过能够超过x的范围的范围第12页,共51页,编辑于2022年,星期六例:从例:从1 1点点1212点点的的1111小时内,每隔
9、小时内,每隔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:12;t=interp1(hours,temps,h,spline);plot(hours,temps,k+,h,t,b,hours,temps,r:)%作图作图xlabel(Hour),ylabel(Degr
10、ees Celsius)第13页,共51页,编辑于2022年,星期六xy机翼下机翼下轮廓线轮廓线例例 已知飞机下轮廓线上数据如下,求已知飞机下轮廓线上数据如下,求x每改变每改变0.1时的时的y值值第14页,共51页,编辑于2022年,星期六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.1:15;y1=interp1(x0,y0,x,cubic);y2=interp1(x0,y0,x);y3=interp1(x0,y0,x,spline);subplot(3,1,1)plot(x0,y0,k+
11、,x,y1,r)gridtitle(cubic)subplot(3,1,2)plot(x0,y0,k+,x,y2,r)gridtitle(piecewise linear)subplot(3,1,3)plot(x0,y0,k+,x,y3,r)gridtitle(spline)返回返回第15页,共51页,编辑于2022年,星期六 要求要求x0,y0单调;单调;x,y可取可取为矩阵,或为矩阵,或x取行取行向量,向量,y取为列向量,取为列向量,x,y的值分别不能超出的值分别不能超出x0,y0 0的范围的范围z=interp2(x0,y0,z0,x,y,method)被插值点插值方法用用MATLAB作
12、网格节点数据的插值作网格节点数据的插值插值节点被插值点的函数值nearest 最邻近插值;最邻近插值;linear 双线性插值;双线性插值;cubic 双三次插值;双三次插值;缺省时缺省时 双线性插值双线性插值.第16页,共51页,编辑于2022年,星期六例:测得平板表面例:测得平板表面3 35 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)的图
13、形的图形输入以下命令:输入以下命令: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个单位的地方进行插值个单位的地方进行插值.第17页,共51页,编辑于2022年,星期六再输入以下命令再输入以下命令:xi=1:0.2:5;yi=1:0.2:3;zi=interp2(x,y,temps,xi,yi,cubic);mesh(x
14、i,yi,zi)画出插值后的温度分布曲面图画出插值后的温度分布曲面图.第18页,共51页,编辑于2022年,星期六 通过此例对最近邻点插值、双线性插值方法和双三次插值方法的插值效果进通过此例对最近邻点插值、双线性插值方法和双三次插值方法的插值效果进行比较行比较第19页,共51页,编辑于2022年,星期六x=1200:400:4000;y=1200:400:3600;z=1130 1250 1280 1230 1040 900 500 700;.1320 1450 1420 1400 1300 700 900 850;.1390 1500 1500 1400 900 1100 1060 950;
15、.1500 1200 1100 1350 1450 1200 1150 1010;.1500 1200 1100 1550 1600 1550 1380 1070;.1500 1550 1600 1550 1600 1600 1600 1550;.1480 1500 1550 1510 1430 1300 1200 980;输入原始数据输入原始数据:第20页,共51页,编辑于2022年,星期六figure(1);meshz(x,y,z)xlabel(X),ylabel(Y),zlabel(Z)xi=1200:50:4000;yi=1200:50:3600;figure(2)z1i=interp
16、2(x,y,z,xi,yi,nearest);surfc(xi,yi,z1i)xlabel(X),ylabel(Y),zlabel(Z)figure(3)z2i=interp2(x,y,z,xi,yi);surfc(xi,yi,z2i)xlabel(X),ylabel(Y),zlabel(Z)figure(4)z3i=interp2(x,y,z,xi,yi,cubic);surfc(xi,yi,z3i)xlabel(X),ylabel(Y),zlabel(Z)figure(5)subplot(1,3,1),contour(xi,yi,z1i,10,r);subplot(1,3,2),conto
17、ur(xi,yi,z2i,10,r);subplot(1,3,3),contour(xi,yi,z3i,10,r);注注:surfc 函数功能函数功能 在矩形区域内显示三维带阴在矩形区域内显示三维带阴影曲面图影曲面图,且在曲面下面画出等高线。且在曲面下面画出等高线。meshc函数函数 生成生成带等高线网线图带等高线网线图 meshz函数函数 生成生成带垂帘的网线图带垂帘的网线图数据插值与图形绘制数据插值与图形绘制:第21页,共51页,编辑于2022年,星期六 插值函数插值函数griddata格式为格式为:cz=griddata(x,y,z,cx,cy,method)用用MATLAB作散点数据的
18、插值计算作散点数据的插值计算 要求要求cx取行向量,取行向量,cy取为列向量取为列向量被插值点插值方法插值节点被插值点的函数值nearest最邻近插值最邻近插值linear 双线性插值双线性插值cubic 双三次插值双三次插值v4-MATLAB提供的插值方法提供的插值方法缺省时缺省时,双线性插值双线性插值第22页,共51页,编辑于2022年,星期六 例例 在某海域测得一些点在某海域测得一些点(x,y)处的水深处的水深z由下表给出,由下表给出,船的吃水深度为船的吃水深度为5 5英尺,在矩形区域(英尺,在矩形区域(7575,200200)(-5050,150150)里的哪些地方船要避免进入)里的哪
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 建模 拟合 幻灯片
限制150内