您的当前位置:首页人口指数增长模型和Logistic模型

人口指数增长模型和Logistic模型

2022-03-24 来源:爱问旅游网


根据美国人口从1790年到1990年间的人口数据(如下表),确定人口指数增长模型和Logistic模型中的待定参数,估计出美国2010年的人口,同时画出拟合效果的图形。

表1 美国人口统计数据

年 份 人口(×106) 年 份 人口(×106) 年 份 人口(×106) 提示: x(t)x0ert 指数增长模型:

1790 3.9 1860 31.4 1930 1800 5.3 1870 38.6 1940 1810 7.2 1880 50.2 1950 1820 9.6 1890 62.9 1960 1830 12.9 1900 76.0 1970 1840 17.1 1910 92.0 1980 1850 23.2 1920 106.5 123.131.150.179.204.226.2 7 7 3 0 5 Logistic模型:xtxmxmrt11ex0

解:模型一:指数增长模型。Malthus 模型的基本假设下,人口的增长率为常数,记为r,记时刻t的人口为 x(t),(即x(t)为模型的状态变量)且初始时刻的人

dxrx口为x0,因为dt由假设可知x(t)x0ert 经拟合得到:

x(0)x0x(t)x0ertlnx(t)lnx0rtylnx(t),a1r,a2lnx0程序:

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 ];

1

ya1ta2ra1,x0ea2

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

所以得到人口关于时间的函数为:x(t)x0e0.0214t,其中x0 = 1.2480e-016, 输入:t=2010;

x0 = 1.2480e-016; x(t)=x0*exp(0.0214*t)

得到x(t)= 598.3529。即在此模型下到2010年人口大约为598.3529 106。

35030025020015010050017801800182018401860188019001920194019601980

模型二:阻滞增长模型(或 Logistic 模型) 由于资源、环境等因素对人口

2

增长的阻滞作用,人口增长到一定数量后,增长率会下降,假设人口的增长率为 x 的减函数,如设r(x)r(1x/xm),其中 r 为固有增长率 (x 很小时 ) ,xm为人口容量(资源、环境能容纳的最大数量), 于是得到如下微分方程:

xdxrx(1)xm dtx(0)x0建立函数文件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)

3

hold off 运行结果:

a=311.9531 0.02798178 y1 =267.1947

其中a(1)、a(2)分别表示xtxmx1m1ertx0中的xm和r,y1则是对美国美

国2010年的人口的估计。

3002502001501005001750180018501900195020002050

第二题: 问题重述:

一垂钓俱乐部鼓励垂钓者将钓上的鱼放生,打算按照放生的鱼的重量给与鼓励,俱乐部只准备了一把软尺用于测量,请你设计按照测量的长度估计鱼的重量的方法。假定鱼池中只有一种鲈鱼,并且得到8条鱼的如下数据(胸围指鱼身的最大周长):

4

身长(cm) 重量(g) 胸围(cm) 36.8 765 24.8 31.8 482 21.3 43.8 1162 27.9 36.8 737 24.8 32.1 482 21.6 45.1 1389 31.8 35.9 652 22.9 32.1 454 21.6 问题分析:

鲈鱼的体重主要与鱼的身长、胸围有关系。一般来说,鲈鱼的胸围越大,鱼的体重会越重,身长越长,体重也越重。但鱼的胸围与身长之间又有些必然的联系,共同影响鱼的体重。建模的目的是寻求鲈鱼体重与身长、胸围之间的数量规律

模型假设:

1、鲈鱼的身长越长体重越重,体重与身长存在正相关关系; 2、鲈鱼的胸围越大体重也越重,体重与胸围存在正相关的关系; 3、鲈鱼的胸围、身长互相影响,共同作用鲈鱼的体重; 4、鲈鱼的形态近似为与胸围等周长与身长等高的圆柱体。 符号说明:

L C 鲈鱼的身长 鲈鱼的胸围 鲈鱼的体重 W 模型的建立及求解:

(一)、鲈鱼体重与身长模型的确立

为了研究鲈鱼身长与体重的关系,我们利用已测量的数据,取出身长及体重的数据,利用MATLAB软件画出散点图,如下:

5

身长与体重散点图14001300120011001000体重9008007006005004003032343638身长40424446

从图形上看,鲈鱼的体重与身长可能是二次函数关系,我们利用多项式拟合的方法,得到:

W1.6247*L2-59.3124*L +709.7392

(1)

根据拟合的函数,我们画出拟合图:

身长与体重拟合图2000180016001400120010008006004002003032343638404244464850

从拟合图上看,大部分原始数据在拟合函数附近,说明用二次函数拟合的效果较

6

好,下面利用得出的函数对鱼的体重进行估计,用相对误差检验拟合度,得到下表:

表一、鲈鱼体重实际值与估计值对比及误差表

身长(cm) 31.8 32.1 482 32.1 454 35.9 652 36.8 737 727.3 36.8 765 727.3 43.8 1162 45.1 1389 重量(g) 482 拟合值(g) 相对误差(%) 466.6 479.9 479.9 674.4 1228.8 1339.4 3.2 0.44 5.7 3.44 4.93 5.75 3.57 0.86 从表中的数据,我们可以得出鲈鱼体重的实际值与估计值的相对误差不大,说明用二次函数拟合鲈鱼身长与体重的关系式可行的。 (二)、鲈鱼体重与胸围的模型确立

仅仅考虑鲈鱼胸围对体重的影响,我们采用与模型一相同的方法,先画出鲈鱼体重与胸围的散点图:

胸围与体重散点图14001300120011001000体重90080070060050040020222426胸围283032

从图形上看,鲈鱼体重与胸围可能成线性关系,利用多项式拟合的方法,我们得

7

到鲈鱼体重与胸围的函数表达式:

W92*C-1497.5 (2) 根据拟合函数(2),画出胸围与体重关系的拟合图:

胸围与体重拟合图22002000180016001400120010008006004002002022242628303234363840

利用拟合函数及实际数据,求出实际值与拟合值得相对误差表:

表二、鲈鱼体重实际值与估计值对比及误差表

胸围(cm) 重量(g) 拟合值(cm) 相对误差(%) 21.3 21.6 21.6 22.9 24.8 24.8 27.9 31.8 482 482 454 652 737 765 1162 1389 462.1 489.7 489.7 609.3 784.1 784.1 1069.3 1428.1 4.13 1.60 7.86 6.55 6.39 2.50 7.98 2.81 从鲈鱼胸围与体重的拟合图,及表二中的数据,我们可以得出用线性函数拟合胸围与体重的关系拟合程度高,鲈鱼体重的实际值与估计值的相对误差不大,说明用线性函数拟合鲈鱼身长与体重的关系式可行的。

8

(三)、建立体重与身长、胸围相互影响的模型

实际情况下,鲈鱼的体重不可能只由身长、胸围单方面影响,因此考虑建立身长、胸围共同作用体重的模型。

此模型的建立是基于假设⑶,(4),即:鲈鱼的体态用与胸围等周长,与身长等高的圆柱形来近似。因为圆柱体的体积等于底面积乘高,底面积可以用周长

2C表示:.因此可以分析得出WLC2.又物体质量等于密度与体积的乘积,因

4此只需根据数据求出密度即可。于是身长、胸围与体重的关系可以表示为:

WLC2,问题转化为对系数的求解。根据已知数据,利用MATLAB软件求解,得到:

0.0327 (3) 因此,

W0.0327LC2

(4)

利用得出的函数对鱼的体重进行估测并列如下表:

表三、重量估计值及相对误差

重量(g) 估算值(g) 相对误差(%) 765 482 1162 737 482 1389 652 454 740 472 1115 740 490 1491 616 490 3.25 2.12 4.05 0.42 1.60 7.37 5.58 7.87 根据表三的数据,可以知道模型三的拟合程度也较好,相对于模型一、二,此模型充分考虑到了身长、胸围对体重的相互影响,用此模型估计鲈鱼的体重可能会更符合实际。

9

10

因篇幅问题不能全部显示,请点此查看更多更全内容