数学建模 插值和拟合综述

上传人:我** 文档编号:116104255 上传时间:2019-11-15 格式:PPT 页数:31 大小:1.14MB
返回 下载 相关 举报
数学建模 插值和拟合综述_第1页
第1页 / 共31页
数学建模 插值和拟合综述_第2页
第2页 / 共31页
数学建模 插值和拟合综述_第3页
第3页 / 共31页
数学建模 插值和拟合综述_第4页
第4页 / 共31页
数学建模 插值和拟合综述_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《数学建模 插值和拟合综述》由会员分享,可在线阅读,更多相关《数学建模 插值和拟合综述(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

3、)的近似函数,并且在已知的 数据节点上 再通过 求每隔1/10小时的温度值。 4.1 (一维)插值问题的一般描述 设给出关于函数y= f (x)的一组函数值, x x0 x1 xn y y0 y1 yn 其中x0,x1, xn是n+1个互不相同的点,求一个 近似函数 ,使得 n 即要求这个近似函数经过所已知的所有数据点 ,则称此类问题为插值问题。 x y x0xn x Matlab 实现:实现插值不需要编制函 数程序,它自身提供了内部的功能函数 interp1(一维分段插值) interp2(二维) interp3(三维) intern(n维) 4.2 MATLAB实现插值 用MATLAB作插

4、值计算 一维插值函数: yi=interp1(x,y,xi,method) 插值方法被插值点 插值节点 xi处的插 值结果 nearest 最近邻点插值; linear分段线性插值; spline 三次样条插值; 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小时 的

5、温度值;(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); 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=i

6、nterp1(hours,temps,1.5, spline) t=interp1(hours,temps,13, spline, extrap) %当数据超出插值运算范围时,可以使用外推方法插值 例:测得平板表面35网格点处的温度分别为: 82 81 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取行向

7、 量,y取为列向量,x,y 的值分别不能超出x0,y0 的范围 z=interp2(x0,y0,z0,x,y,method) 被插值点 插值方法 用MATLAB作网格节点数据的插值 插 值 节 点 被插值点 的函数值 nearest 最邻近插值; linear 双线性插值; cubic 双三次插值; 缺省时 双线性插值. 例:测得平板表面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

8、 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(双三次插值温度分布图) %画出插值后的温度分布曲面图. 2以平滑数据,在 x、y方向上每隔0.2个单位的地方进行插值. 注:surf(xi,yi,zi) title(双三次插值温度分布图) %画出插值后的温度分布曲面图. 二、针对于插值节点为散乱节点的二维插值 例 在某海域测得一些点(x,

9、y)处的水深z由下表 给出,船的吃水深度为5英尺,在矩形区域(75,200 )(-50,150)里的哪些地方船要避免进入 插值函数griddata格式为: cz =griddata(x,y,z,cx,cy,method) 用MATLAB作散点数据的插值计算 要求cx取行向量, cy取为列向量 被插值点 插值方法 插值 节点 被插值点 的函数值 nearest最邻近插值 linear 双线性插值 cubic 双三次插值 v4- MATLAB提供的插值方法 缺省时, 双线性插值 例 在某海域测得一些点(x,y)处的水深z由下表 给出,船的吃水深度为5英尺,在矩形区域(75,200 )(-50,15

10、0)里的哪些地方船要避免进入 返回 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 22.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

11、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名成年女性的身高和腿长的测量数据如下: 身 高 145146148150152154156157158159161162165 腿 长长 85879091929498989699100101103 试研究身高与腿长的关系,绘制出身高和腿长的关系图,并给 出身高为149cm,155cm,163cm时,腿长的预测值。 实验作业2

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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