一、实验目的
1. 掌握各种数据插值方法的 MATLAB 实现方法;
2. 掌握数据拟合的 MATLAB 实现方法。
二、实验内容
1.
已知平面区域 0 ≤ x ≤ 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);
四、实验总结
通过本次实验,了解了插值和拟合的不同,
相同点 :
都属于函数逼近的方法,都能进行数据估计。
不同点:
实现方法不同:拟合是已知点列,从整体上靠近它们;插值是已知点列并且完全经过
点列。
图像上是不同:图像中的插值必须通过数据,图像中的拟合必须得到最接近的结果,
这取决于整体效果。
在几何意义上不同:拟合就是寻找一个具有已知形状和未知参数的连
续曲面来最大程度地逼近这些点,而插值就是找到一个连续的曲面(或几个分段光滑曲面)
通过这些点。文章来源:https://www.toymoban.com/news/detail-848811.html
应用不同:当不要求逼近函数在已知数据点与被逼近函数完全一致时,而仅
是尽量接近这些点时可以采用拟合。同理,若要求严格,则只能选用插值。文章来源地址https://www.toymoban.com/news/detail-848811.html
到了这里,关于数学建模实验-插值和拟合的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!