数据建模-插值与拟合1
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.2 插值方法 选用不同类型的插值函数,逼近的效 果就不同,一般有: (1)拉格朗日插值(lagrange插值) (2)分段线性插值 (3)Hermite (4)三次样条插值。
4.3 MATLAB实现插值 Matlab的插值函数分为内部插值和外部
插值,内部插值要求已知点x是单调的,并
且被插值点xi不能够超过x的范围。
样,得到了length(x)*length(y)个点,这些点的横坐标用 矩阵X 表示,X 的每个行向量与向量x 相同;这些点的 纵坐标用矩阵Y 表示,Y 的每个列向量与向量y 相同。 其中X,Y可用于计算二元函数z=f(x,y)与三维图形中xy 平面矩形定义域的划分或曲面作图。
例3【海域水底探测模型】
0 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6
例2【温度预测模型】
在 12小时内,测得温室每隔1小时测量一次
温度,具体数据见表2。求温室在3.2h,6.5h,
7.1h,11.7h的温度值。
表2
小时(h) 1
2
3
4
5
6
7
8
9
10 11 12
温度(oC)5
8
9
15 25 29 31
105 85.5 8
107.5 77 81 162 162 117.5 -81 3 56.5 -66.5 84 -33.5 8 8 4 9 9 9
作业1【山区地貌问题】
在某山区测得一些地点的高程如下表。平面区域为 1200<=x<=4000,1200<=y<=3600) 试作出该山区的地貌图和等高线图,并对几种插值方法进行比较。
数据建模的 常用预测方法之一
——数据的拟合与插值 (小样本内部预测)
主讲人:刘清华
插值与拟合
一、插值的基本原理 二、拟合的基本原理 三、插值与拟合的关系
四、插值的Matlab实现 五、拟合的Matlab实现
一、概述
我们经常会遇到大量的数据需要处理, 而处理数据的关键就在于这些算法,例如 数据拟合、参数估计、插值等数据处理算 法。此类问题在MATLAB中有很多现成的 函数可以调用,熟悉MATLAB,这些方法 都能游刃有余的用好。
插值方法
最邻近插值; 线性插值; ‘spline’ 三次样条插值; 注意:所有的插值方法 都要求x是单调的,并且xi不 ‘cubic’ 立方插值; 缺省时 分段线性插值. 能够超过x的范围.
选择插值方法时主要考虑因素: (1)运算时间 (2)占用计算机内存 (3)插值的光滑程度
四种插值法进行比较:
在某海域测得一些点(x,y)处的水深 由下表给出,船 的吃水深度为5英尺,在矩形区域(75,200)×(50,150)里的哪些地方船要避免进入.
x y z x y z
129 140 103.5 88 185.5 195 7.5 141.5 23 147 22.5 137.5 4 8 6 8 6 8 157.5 -6.5 9
通过此例对最近邻点插值、双线性插值方法和双三次插 值方法的插值效果进行比较.
作业2【河流流量问题】
一条100米宽的河道的截面如图1 所示,为了测量其流 量需要知道河道的截面积.为此从河的一端开始每隔5 米测量出河床的深度,见表2.
表2
坐标 x1 深度 2.41
x2 2.96
x3 2.15
x4 2.65
如果不要求近似函数通过所有数据点, 而是要求它能较好地反映数据变化规律的近 似函数的方法称为数据拟合。(必须有函数 表达式) 近似函数不一定(曲线或曲面)通过所
有的数据点。
三、插值与拟合的区别和联系
1、联系 都是根据实际中一组已知数据来构造一个能够 反映数据变化规律的近似函数的方法。 2、区别 插值问题不一定得到近似函数的表达形式,仅 通过插值方法找到未知点对应的值。数据拟合 要求得到一个具体的近似函数的表达式。
举例说明
• 已知数据:
x y
插值图像
0 .3
.1 .5
.2 1
.3 .4 .5 .6 1.4 1.6 1.9 .6
拟合图像
Biblioteka Baidu.7 .4
.8 .8
.9 1 1.5 2
四、插值的使用及求解
4.1 引言 当数据量不够,需要补充,且认定已有数 据可信时,通常利用函数插值方法。
实际问题当中碰到的函数 f (x) 是各种各 样的,有的表达式很复杂,有的甚至给不出数 学的式子,只提供了一些离散数据,警如,某 些点上的函数值和导数值。
interp1(一维插值)
intep2(二维插值)
只能进行内部插值
interpn(n维插值)
griddata(散乱点插值)既可以计算内部插值, 又可以计算外部插值
用MATLAB作插值计算
一维插值函数: yi=interp1(x,y,xi,'method')
xi处的 插值结果
插值节点
被插值点
‘nearest’ ‘linear’
数据拟合在很多赛题中有应用,与图形
处理有关的问题很多与插值和拟合有关系,
例如98年美国赛A题,生物组织切片的三维插
值处理,94年A题逢山开路,山体海拔高度的
插值计算,2003年吵的沸沸扬扬的“非典”
问题也要用到数据拟合算法,观察数据的走
向进行处理,2005年的雨量预报的评价的插
值计算。2001年的公交车调度拟合问题,
x5 3.12
x6 4.23
x7 x8 5.12 6.21
x9 x10 5.68 4.22
坐标 x1 x2 x3 深度 3.91 3.26 2.85
x4 x5 x6 x7 x8 x9 2.35 3.02 3.63 4.12 3.46 2.08
x10 0
图1
试根据以上数据估算河道的截面积,进而在已知水 的流速(设为1m/s)的情况下计算出水流量.如果 要在河床铺设一条电缆,试估计电缆的长度.
定行数的矩阵。
• meshgrid 生成用于画三维图形的矩阵数据。
◆
[X,Y] = meshgrid(x,y)
• 将由向量x,y(可以是不同方向的)指定的区域 [min(x),max(x) , min(y) , max(y)] 用直线x=x(i),y=y(j)
( i=1,2,…,length(x) ,j=1,2,…,length(y))进行划分。这
30 22 25 27 24
练习1【温度变化问题】
某地区在1-12的11小时内,每隔1小时测量一
次温度,测得的温度(oC)依次为:5,8,9,
15,25,29,31,30,22,25,27,
24.试估计每隔1/10小时的温度值。
用MATLAB作网格节点数据的插值
z=interp2(x0,y0,z0,x,y,’method’)
被插值点 的函数值
插值 节点
被插值点
插值方法
‘nearest’ 最邻近插值; ‘linear’ 双线性插值; ‘cubic’ 双三次插值;
缺省时 双线性插值. 要求x0,y0单调;x,y可取为矩阵,或x 取行向量,y取为列向量,x,y的值分别不能超 出x0,y0的范围.
练习2【平板表面温度问题】
• 测得平板表面3*5网格点处的温度见表3.
这些方法定义了匹配数据点的曲面类型。'cubic' 和 'v4' 方法生 成平滑曲面,而 'linear' 和 'nearest' 分别具有一阶导数和零阶 导数不连续。除'v4' 外所有方法基于数据的三角化。
• griddata
散乱点插值(数据网格化)
• cz =griddata(x,y,z,cx,cy,‘method’)
表3
• 试作出平板表面的温度分布曲面z=f(x,y)的图形.
用MATLAB作散点数据的插值计算
插值函数griddata格式为: cz =griddata(x,y,z,cx,cy,‘method’)
被插值点 的函数值
插值 节点
被插值点
插值方法
‘nearest’最邻近插值 ‘linear’ 双线性插值 ‘cubic’ 双三次插值 'v4'- MATLAB提供的插值方法 缺省时, 双线性插值
nearest linear spline cubic
运算时间 快 稍长 最长 较长
占用计算机内存 少 较多 较多 多
光滑程度 差 稍好 最好 较好
4.4 例题讲解
例1 【飞机轮廓模型】
已知飞机机翼截面下轮廓线的数据,见表1,求x 每改变0.1时y的值。
表1
x
y
0 3
5
7
9 11 12 13 14 15
X Y 1200 1600 2000 2400 2800 3200 3600 1200 1130 1320 1390 1500 1500 1500 1480 1600 1250 1450 1500 1200 1200 1550 1500 2000 1280 1420 1500 1100 1100 1600 1550 2400 1230 1400 1400 1350 1550 1550 1510 2800 1040 1300 900 1450 1600 1600 1430 3200 900 700 1100 1200 1550 1600 1300 3600 500 900 1060 1150 1380 1600 1200 4000 700 850 950 1010 1070 1550 980
2003年的饮酒驾车拟合问题。
预测点和实测点的图形
插值后的图形
喝两瓶酒的拟合曲线
喝1-5瓶酒的拟合曲线
二、基本概念
在实际中,常常要处理由实验或测量所 得到的一些离散数据。插值与拟合方法就是 要通过这些数据去确定某一类已知函数的参 数或寻求某个近似函数,使所得到的近似函 数与已知数据有较高的拟合精度。 如果要求这个近似函数(曲线或曲面) 经过所已知的所有数据点,则称此类问题为 插值问题。 (不需要函数表达式)
• 调整形如z = f(x,y)的曲面,使之与非等间距向量(x,y,z)中的
数据吻合。griddata 函数在指定的(cx,cy)点处插补此曲面,
生成cz. 此曲面一定通过这些数据点。 • cx和 cy 通常构成均匀网格(与meshgrid函数生成的相同). cx 可以是行向量,这种情况下该向量确定一个具有固定列 数的矩阵。与之类似,cy 可以是列向量,确定一个具有固