数学建模插值和拟合课件.ppt

上传人:牧羊曲112 文档编号:2157223 上传时间:2023-01-21 格式:PPT 页数:31 大小:1.14MB
返回 下载 相关 举报
数学建模插值和拟合课件.ppt_第1页
第1页 / 共31页
数学建模插值和拟合课件.ppt_第2页
第2页 / 共31页
数学建模插值和拟合课件.ppt_第3页
第3页 / 共31页
数学建模插值和拟合课件.ppt_第4页
第4页 / 共31页
数学建模插值和拟合课件.ppt_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《数学建模插值和拟合课件.ppt》由会员分享,可在线阅读,更多相关《数学建模插值和拟合课件.ppt(31页珍藏版)》请在三一办公上搜索。

1、,数学建模中的数据处理方法,(一)插值与拟合,插值与拟合,一、插值的基本原理,二、插值的MATLAB实现,三、拟合的基本原理,四、插值与拟合的关系,五、拟合的Matlab实现,我们经常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,例如数据拟合、参数估计、插值等数据处理算法。此类问题在MATLAB中有很多现成的函数可以调用,熟悉MATLAB,这些方法都能游刃有余的用好。,一、概述,在实际中,常常要处理由实验或测量所得到的一些离散数据。插值与拟合方法就是要通过这些数据去确定某一类已知函数的参数或寻求某个近似函数,使所得到的近似函数与已知数据有较高的拟合精度。如果要求这个近似函数(曲线或

2、曲面)经过所已知的所有数据点,则称此类问题为插值问题。(不需要函数表达式),二、基本概念,如果不要求近似函数通过所有数据点,而是要求它能较好地反映数据变化规律的近似函数的方法称为数据拟合。(必须有函数表达式),二、插值的使用及求解,例:从1点到12点的11小时内,每隔1小时测量一次温度,测得的温度的数值依次为:5,8,9,15,25,29,31,30,22,25,27,24试估计每隔1/10小时的温度值,解题思路:不知道描述时间与温度关系的函数f(t),仅知道一些离散的数据点。首先求一个性质优良、便于计算的函数,作为 f(t)的近似函数,并且在已知的数据节点上,再通过 求每隔1/10小时的温度

3、值。,4.1(一维)插值问题的一般描述,设给出关于函数y=f(x)的一组函数值,,其中x0,x1,xn是n+1个互不相同的点,求一个近似函数,使得,n,即要求这个近似函数经过所已知的所有数据点,则称此类问题为插值问题。,x,Matlab 实现:实现插值不需要编制函数程序,它自身提供了内部的功能函数interp1(一维分段插值)interp2(二维)interp3(三维)intern(n维),4.2 MATLAB实现插值,用MATLAB作插值计算,一维插值函数:,yi=interp1(x,y,xi,method),nearest 最近邻点插值;linear分段线性插值;spline 三次样条插值

4、;cubic 三次多项式插值;缺省时 分段线性插值,注意(1)所有的插值方法都要求x是单调的,并且xi不能够超过x的范围;(2)interp1()并没有提供插值函数的表达式。,4.3.1一维插值,例1:从1点到12点的11小时内,每隔1小时测量一次温度,测得的温度的数值依次为:5,8,9,15,25,29,31,30,22,25,27,24试估计(1)每隔1/10小时的温度值;(2)估计1点30分和13的温度值。,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

5、);plot(hours,temps,+,h,t,r:)xlabel(Hour),ylabel(Degrees Celsius),例1:从1点12点的11小时内,每隔1小时测量一次温度,测得的温度的数值依次为:5,8,9,15,25,29,31,30,22,25,27,24试估计(1)每隔1/10小时的温度值;(2)估计1点30分和13的温度值。,t=interp1(hours,temps,1.5,spline),t=interp1(hours,temps,13,spline,extrap)%当数据超出插值运算范围时,可以使用外推方法插值,例:测得平板表面35网格点处的温度分别为:82 81

6、80 82 84 79 63 61 65 81 84 84 82 85 86 试作出平板表面的温度分布曲面z=f(x,y)的图形,二维插值函数:z=interp2(x0,y0,z0,x,y,method)针对的是插值节点为网格节点,4.3.2二维插值,一、针对于插值节点为网格节点的二维插值,要求x0,y0单调;x,y可取为矩阵,或x取行向量,y取为列向量,x,y的值分别不能超出x0,y0的范围,z=interp2(x0,y0,z0,x,y,method),用MATLAB作网格节点数据的插值,nearest 最邻近插值;linear 双线性插值;cubic 双三次插值;缺省时 双线性插值.,例:

7、测得平板表面35网格点处的温度分别为: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.先在三维坐标画出原始数据,画出粗糙的温度分布曲线图.,x1=1:0.2:5;y1=1:0.2:3;z1=interp2(x,y,temps,x1,y1,cubic);mesh(x1,y1,z1)title(双三次插值温度分布图)%画出插值后的温

8、度分布曲面图.,2以平滑数据,在 x、y方向上每隔0.2个单位的地方进行插值.,注:surf(xi,yi,zi)title(双三次插值温度分布图)%画出插值后的温度分布曲面图.,二、针对于插值节点为散乱节点的二维插值,例 在某海域测得一些点(x,y)处的水深z由下表给出,船的吃水深度为5英尺,在矩形区域(75,200)(-50,150)里的哪些地方船要避免进入,插值函数griddata格式为:,cz=griddata(x,y,z,cx,cy,method),用MATLAB作散点数据的插值计算,要求cx取行向量,cy取为列向量,nearest最邻近插值linear 双线性插值cubic 双三次插

9、值v4-MATLAB提供的插值方法缺省时,双线性插值,例 在某海域测得一些点(x,y)处的水深z由下表给出,船的吃水深度为5英尺,在矩形区域(75,200)(-50,150)里的哪些地方船要避免进入,返回,4.作出水深小于5的海域范围,即z=5的等高线.,2.在矩形区域(75,200)(-50,150)进行插值。,1.输入插值基点数据,3.作海底曲面图,%程序一:插值并作海底曲面图 x=129.0 140.0 103.5 88.0 185.5 195.0 105.5 157.5 107.5 77.0 81.0 162.0 162.0 117.5;y=7.5 141.5 23.0 147.0 2

10、2.5 137.5 85.5-6.5-81 3.0 56.5-66.5 84.0-33.5;z=4 8 6 8 6 8 8 9 9 8 8 9 4 9;x1=75:1:200;y1=-50:1:150;z1=griddata(x,y,z,x1,y1,v4);meshc(x1,y1,z1)%meshc命令在三维图形下方绘制等值线,海底曲面图,%程序二:作出水深小于5的海域范围。z1(z1=5)=nan;%将水深大于5的置为nan,这样绘图就不会显示出来meshc(x1,y1,z1),水深小于5的海域范围,实验作业1,已知13名成年女性的身高和腿长的测量数据如下:,试研究身高与腿长的关系,绘制出身高和腿长的关系图,并给出身高为149cm,155cm,163cm时,腿长的预测值。,实验作业2,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号