人口指数增长模型和Logistic模型
- 格式:docx
- 大小:72.94 KB
- 文档页数:10
根据美国人口从1790年到1990年间的人口数据(如下表),确定人口指数增长模型和Logistic 模型中的待定参数,估计出美国2010年的人口,同时画出拟合效果的图形。
表1 美国人口统计数据
指数增长模型:rt e x t x 0)(=
Logistic 模型:()011m
rt
m x x t x e x -=
⎛⎫
+- ⎪⎝⎭
解:模型一:指数增长模型。
Malthus 模型的基本假设下,人口的增长率为常数,记为r ,记时刻t 的人口为 )(t x ,(即)(t x 为模型的状态变量)且初始时刻的人
口为0x ,因为⎪⎩⎪⎨⎧==0
)0(x x rx
dt dx
由假设可知0()rt x t x e = 经拟合得到:
}2
120010120
()ln ()ln ,ln (),,ln rt a y a t a x t x e x t x rt r a x e
y x t a r a x =+=⇒=+⇒
=====
程序:
t=1790:10:1980;
x(t)=[3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76.0 92.0 106.5
123.2 131.7 150.7 179.3 204.0 226.5 ];
y=log(x(t));a=polyfit(t,y,1) r=a(1),x0=exp(a(2)) x1=x0.*exp(r.*t); plot(t,x(t),'r',t,x1,'b') 结果:a = 0.0214 -36.6198
r= 0.0214 x0= 1.2480e-016
所以得到人口关于时间的函数为:0.02140()t x t x e =,其中x0 = 1.2480e-016, 输入:t=2010;
x0 = 1.2480e-016; x(t)=x0*exp(0.0214*t)
得到x(t)= 598.3529。
即在此模型下到2010年人口大约为598.3529 610⨯。
1780
1800182018401860188019001920194019601980
050
100
150
200
250
300
350
模型二:阻滞增长模型(或 Logistic 模型) 由于资源、环境等因素对人口
增长的阻滞作用,人口增长到一定数量后,增长率会下降,假设人口的增长率为 x 的减函数,如设)/1()(m x x r x r -=,其中 r 为固有增长率 (x 很小时 ) ,m x 为人口容量(资源、环境能容纳的最大数量), 于是得到如下微分方程:
⎪⎩
⎪
⎨⎧=-=0)0()1(x
x x x rx dt
dx
m 建立函数文件curvefit_fun2.m function f=curvefit_fun2 (a,t)
f=a(1)./(1+(a(1)/3.9-1)*exp(-a(2)*(t-1790))); 在命令文件main.m 中调用函数文件curvefit_fun2.m % 定义向量(数组) x=1790:10:1990;
y=[3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76 ... 92 106.5 123.2 131.7 150.7 179.3 204 226.5 251.4]; plot(x,y,'*',x,y); % 画点,并且画一直线把各点连起来 hold on;
a0=[0.001,1]; % 初值
% 最重要的函数,第1个参数是函数名(一个同名的m 文件定义),第2个参数是初值,第3、4个参数是已知数据点 a=lsqcurvefit('curvefit_fun2',a0,x,y); disp(['a=' num2str(a)]); % 显示结果 % 画图检验结果 xi=1790:5:2020; yi=curvefit_fun2(a,xi); plot(xi,yi,'r'); % 预测2010年的数据 x1=2010;
y1=curvefit_fun2(a,x1)
hold off 运行结果:
a=311.9531 0.02798178 y1 =267.1947
其中a(1)、a(2)分别表示()011m
rt m x x t x e x -=
⎛⎫+- ⎪⎝⎭
中的m x 和r ,y1则是对美国美
国2010年的人口的估计。
1750
180018501900195020002050
50
100
150
200
250
300
第二题: 问题重述:
一垂钓俱乐部鼓励垂钓者将钓上的鱼放生,打算按照放生的鱼的重量给与鼓励,俱乐部只准备了一把软尺用于测量,请你设计按照测量的长度估计鱼的重量的方法。
假定鱼池中只有一种鲈鱼,并且得到8条鱼的如下数据(胸围指鱼身的最大周长):
问题分析:
鲈鱼的体重主要与鱼的身长、胸围有关系。
一般来说,鲈鱼的胸围越大,鱼的体重会越重,身长越长,体重也越重。
但鱼的胸围与身长之间又有些必然的联系,共同影响鱼的体重。
建模的目的是寻求鲈鱼体重与身长、胸围之间的数量规律
模型假设:
1、鲈鱼的身长越长体重越重,体重与身长存在正相关关系;
2、鲈鱼的胸围越大体重也越重,体重与胸围存在正相关的关系;
3、鲈鱼的胸围、身长互相影响,共同作用鲈鱼的体重;
4、鲈鱼的形态近似为与胸围等周长与身长等高的圆柱体。
符号说明:
模型的建立及求解:
(一)、鲈鱼体重与身长模型的确立
为了研究鲈鱼身长与体重的关系,我们利用已测量的数据,取出身长及体重的数据,利用MATLAB软件画出散点图,如下:
30
32
34
36
3840
42
44
46
身长
体重
身长与体重散点图
从图形上看,鲈鱼的体重与身长可能是二次函数关系,我们利用多项式拟合的方法,得到:
21.6247*L -59.3124*L +709.7392W
(1)
根据拟合的函数,我们画出拟合图:
200
400600800100012001400160018002000身长与体重拟合图
从拟合图上看,大部分原始数据在拟合函数附近,说明用二次函数拟合的效果较
好,下面利用得出的函数对鱼的体重进行估计,用相对误差检验拟合度,得到下表:
表一、鲈鱼体重实际值与估计值对比及误差表
从表中的数据,我们可以得出鲈鱼体重的实际值与估计值的相对误差不大,
说明用二次函数拟合鲈鱼身长与体重的关系式可行的。
(二)、鲈鱼体重与胸围的模型确立
仅仅考虑鲈鱼胸围对体重的影响,我们采用与模型一相同的方法,先画出鲈鱼体重与胸围的散点图:
胸围
体重
胸围与体重散点图
从图形上看,鲈鱼体重与胸围可能成线性关系,利用多项式拟合的方法,我们得
到鲈鱼体重与胸围的函数表达式:
W (2)
92*C-1497.5
根据拟合函数(2),画出胸围与体重关系的拟合图:
胸围与体重拟合图
利用拟合函数及实际数据,求出实际值与拟合值得相对误差表:
表二、鲈鱼体重实际值与估计值对比及误差表
从鲈鱼胸围与体重的拟合图,及表二中的数据,我们可以得出用线性函数拟合胸围与体重的关系拟合程度高,鲈鱼体重的实际值与估计值的相对误差不大,说明用线性函数拟合鲈鱼身长与体重的关系式可行的。
(三)、建立体重与身长、胸围相互影响的模型
实际情况下,鲈鱼的体重不可能只由身长、胸围单方面影响,因此考虑建立身长、胸围共同作用体重的模型。
此模型的建立是基于假设⑶,(4),即:鲈鱼的体态用与胸围等周长,与身长等高的圆柱形来近似。
因为圆柱体的体积等于底面积乘高,底面积可以用周长
表示:π
42C
.因此可以分析得出2LC W ∝.又物体质量等于密度与体积的乘积,因
此只需根据数据求出密度即可。
于是身长、胸围与体重的关系可以表示为:
2LC W α=,问题转化为对系数α的求解。
根据已知数据,利用MATLAB 软件求解,得到:
α≈0.0327 (3) 因此,
20327.0LC W =
(4)
利用得出的函数对鱼的体重进行估测并列如下表:
表三、重量估计值及相对误差
根据表三的数据,可以知道模型三的拟合程度也较好,相对于模型一、二,此模型充分考虑到了身长、胸围对体重的相互影响,用此模型估计鲈鱼的体重可能会更符合实际。