数学建模实验-插值和拟合

一、实验目的

1.  掌握各种数据插值方法的 MATLAB 实现方法;

2.  掌握数据拟合的 MATLAB 实现方法。

二、实验内容

1. 

已知平面区域 0  ≤ ≤ 4800  , 0   y ≤ 5600的高程数据如data5_1.xlsx所示。

试用二维插值求x,y方向间隔都为50m的高程,并画出该区域的等高线图。

表格数据如图:

2.

在一次传染病中,假设t时刻的染病人数I(t)满足模型    I = 1 / (a+b*exp(ct))

,公共部门每隔5天记录一次传染病的人数,具体见表5.2,试利用拟合方法确定参数a,b,c,并分析分析传染病传播特征。

表5.2 传染人数记录

天数

0

5

10

15

20

25

30

感染人数

(单位:百人)

0.2

0.4

0.5

0.9

1.5

2.4

3.1

天数

35

40

45

50

55

60

感染人数

(单位:百人)

3.8

4.1

4.2

4.5

4.4

4.5

三、实验过程 与 结果

问题一

代码如下:

这里的Z为表格数据  13行 15列

此时x,y的维度要与Z保持一致

clc,clear
Z=[135	137	139	140	141	96	94	88	80	69	57	43	29	21	15
    137	139	141	143	144	114	111	105	95	82	69	54	38	30	21
138	141	143	145	147	132	128	120	108	94	78	62	46	37	35
142	143	145	148	150	155	151	143	130	120	98	85	75	55	50
143	145	146	150	155	160	155	160	160	160	155	150	150	155	155
95	119	137	150	120	110	155	160	155	138	107	90	105	115	120
91	109	127	150	120	110	135	145	120	115	101	88	100	105	110
88	106	123	139	150	150	140	90	110	106	95	87	90	93.6 95
83	98	118	132	145	142	40	130	70	90	85	81	38	78	75
74	88	108	113	125	128	123	104	90	50	70	78	75	65	55
65	76	88	97	102	105	102	83	80	70	30	50	55	48	35
51	62	73	80	85	87	85	78	720	65	50	20	30	35	32
37	47	55	60	67	69	67	62	580	45	40	30	10	15	25];
X=linspace(0,4800,15);
Y=linspace(0,5600,13);
 [X,Y]=meshgrid(X,Y);
surf(X,Y,Z);
xlabel('X坐标');%装饰坐标轴
ylabel('Y坐标');
zlabel('高度');
grid on;
title('原始数据图像');
colorbar;%显示色彩条
X1=0:50:4800;%生成插值点
Y1=0:50:5600;
Z3=interp2(X,Y,Z,X1',Y1,'cubic');%三次插值
mesh(X1,Y1,Z3);
xlabel('X坐标');
ylabel('Y坐标');
zlabel('高度');
grid on;
title('三次插值山区地貌图');
colorbar;
figure
[M,c]=contour(X1,Y1,Z3);
c.Fill='on';
c.LineColor='b';
c.ShowText='on';
colorbar;
title('三次插值等高线图');

问题二


我们利用 matlab 中的 inline 函数求解此非线性拟合之后的待定系数。得到结果如下,并继续绘制,发现与散点拟合程度较高。各个 beta 即为模型需要拟合的参数

a = 0.2214

b = 7.3798

c = -0.1440

 

代码如下:

clc ,clear
x=[0 5 10 15 20 25 30 35 40 45 50 55 60]';
y=[0.2 0.4 0.5 0.9 1.5 2.4 3.1 3.8 4.1 4.2 4.5 4.4 4.5]';
myfunc = inline('1./(beta(1)+beta(2).*exp(beta(3)*x))','beta','x');
beta0 = [0.2,0.2,0.2]';
beta = nlinfit(x,y,myfunc,beta0);
plot(x,y,'.');
hold on
x = 0:0.01:80;
z = 1./(beta(1)+beta(2).*exp(beta(3).*x));
plot(x,z);

四、实验总结

通过本次实验,了解了插值和拟合的不同,

相同点 :

都属于函数逼近的方法,都能进行数据估计。

不同点: 

实现方法不同:拟合是已知点列,从整体上靠近它们;插值是已知点列并且完全经过
点列。

图像上是不同:图像中的插值必须通过数据,图像中的拟合必须得到最接近的结果,
这取决于整体效果。

在几何意义上不同:拟合就是寻找一个具有已知形状和未知参数的连
续曲面来最大程度地逼近这些点,而插值就是找到一个连续的曲面(或几个分段光滑曲面)
通过这些点。

应用不同:当不要求逼近函数在已知数据点与被逼近函数完全一致时,而仅
是尽量接近这些点时可以采用拟合。同理,若要求严格,则只能选用插值。

  • 26
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值