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

2018-12-12 22:39

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

表1 美国人口统计数据 年 份 1790 1800 1810 1820 1830 1840 1850 人口(×3.9 5.3 7.2 9.6 12.9 17.1 23.2 106) 年 份 1860 1870 1880 1890 1900 1910 1920 人口(×31.4 38.6 50.2 62.9 76.0 92.0 106.106) 5 年 份 1930 1940 1950 1960 1970 1980 人口(×123.131.150.179.204.226. 610) 2 7 7 3 0 5 提示: rtx(t)?xe 0指数增长模型:

Logistic模型:x?t??xm?x?1??m?1?e?rt?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??y?a1t?a2 a2r?a1,x0?e程序:

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 所以得到人口关于时间的函数为: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 模型) 由于资源、环境等因素对人口增长的阻滞作用,人口增长到一定数量后,增长率会下降,假设人口的增长率为 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) 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条鱼的如下数据(胸围指鱼身的最大周长):

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

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

模型假设:

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

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

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

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

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

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

W?1.6247*L2-59.3124*L +709.7392

(1)

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

身长与体重拟合图2000180016001400120010008006004002003032343638404244464850

从拟合图上看,大部分原始数据在拟合函数附近,说明用二次函数拟合的效果较好,下面利用得出的函数对鱼的体重进行估计,用相对误差检验拟合度,得到下表:

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


人口指数增长模型和Logistic模型.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016年秋季学期新版西师大版四年级数学上册三 1 线段、直线和射

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: