没有合适的资源?快使用搜索试试~ 我知道了~
(完整版)Matlab学习系列13.数据插值与拟合.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 3 下载量 17 浏览量
2022-07-01
16:43:50
上传
评论 4
收藏 1.18MB PDF 举报
温馨提示
试读
21页
(完整版)Matlab学习系列13.数据插值与拟合.pdf(完整版)Matlab学习系列13.数据插值与拟合.pdf(完整版)Matlab学习系列13.数据插值与拟合.pdf(完整版)Matlab学习系列13.数据插值与拟合.pdf(完整版)Matlab学习系列13.数据插值与拟合.pdf(完整版)Matlab学习系列13.数据插值与拟合.pdf(完整版)Matlab学习系列13.数据插值与拟合.pdf(完整版)Matlab学习系列13.数据插值与拟合.pdf(完整版)Matlab学习系列13.数据插值与拟合.pdf
资源推荐
资源详情
资源评论
13. 数据插值与拟合
实际中,通常需要处理实验或测量得到的离散数据(点)。插值
与拟合方法就是要通过离散数据去确定一个近似函数(曲线或曲面),
使其与已知数据有较高的拟合精度。
1. 如果要求近似函数经过所已知的所有数据点,此时称为插值问
题(不需要函数表达式)。
2. 如果不要求近似函数经过所有数据点,而是要求它能较好地反
映数据变化规律,称为数据拟合(必须有函数表达式)。
插值与拟合都是根据实际中一组已知数据来构造一个能够反映
数据变化规律的近似函数。区别是:【插值】不一定得到近似函数的
表达形式,仅通过插值方法找到未知点对应的值。【拟合】要求得到
一个具体的近似函数的表达式。
因此,当数据量不够,但已知已有数据可信,需要补充数据,此
时用【插值】。当数据基本够用,需要寻找因果变量之间的数量关系
(推断出表达式),进而对未知的情形作预测,此时用【拟合】。
一、 数据插值
根据选用不同类型的插值函数,逼近的效果就不同,一般有:
(1)拉格朗日插值(lagrange 插值)
(2)分段线性插值
(3)Hermite
(4)三次样条插值
Matlab 插值函数实现:
(1)interp1( ) 一维插值
(2)intep2( ) 二维插值
(3)interp3( ) 三维插值
(4)intern( ) n 维插值
1. 一维插值(自变量是 1 维数据)
语法: yi = interp1(x0, y0, xi, ‘method’)
其中,x0, y0 为原离散数据(x0 为自变量,y0 为因变量);xi 为
需要插值的节点,method 为插值方法。
注:(1)要求 x0 是单调的,xi 不超过 x0 的范围;
(2)插值方法有‘nearest’——最邻近插值;‘linear’——线性
插值;‘spline’——三次样条插值;‘cubic’——三次插值;
默认为分段线性插值。
例 1 从 1 点 12 点的 11 小时内,每隔 1 小时测量一次温度,测得的
温度的数值依次为:5,8,9,15,25,29,31,30,22,25,27,
24.试估计每隔 1/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,'+',h,t,hours,temps,'r:')
%作图,原散点数据用+标记
xlabel('Hour'),ylabel('Degrees Celsius')
运行结果:
35
30
25
D
e
g
r
e
e
s
C
e
l
s
i
u
s
20
15
10
5
0 2 4 6
Hour
8 10 12
2. 二维插值(自变量是 2 维数据)
语法: zi = interp2(x0, y0, z0, xi, yi, ‘method’)
其中,x0, y0, z0 为原离散数据(x0, y0 为自变量,z0 为因变量);
xi, yi 为需要插值的节点,method 为插值方法。
注:(1)要求 x0, y0 是单调的,xi, yi 不超过 x0, y0 的范围,注
意:要求 xi 取为行向量,yi 取列向量;
(2)插值方法有‘nearest’——最邻近插值;‘linear’——双线
性插值;‘cubic’——双三次插值;默认为双线性插值。
例 2 山区地貌:在某山区测得一些地点的高度如下表:
(平面区域为:1200<=x<=4000, 1200<=y<=3600)
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
试作出该山区的地貌图和等高线图。
代码:
x0=1200:400:4000;
y0=1200:400:3600;
height=[1130 1250 1280 1230 1040 900 500 700;
1320 1450 1420 1400 1300 700 900 850;
1390 1500 1500 1400 900 1100 1060 950;
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];
mesh(x0,y0,height)
title('原数据散点图');
pause %等待,按任意键切换到新图形
xi=1200:5:4000;
yi=1200:5:3600;
zi=interp2(x0,y0,height,xi',yi,'cubic');
mesh(xi,yi,zi)
title('cubic 插值图');
运行结果:
剩余20页未读,继续阅读
春哥111
- 粉丝: 1w+
- 资源: 5万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页