《基于人口增长模型的数学建模(共9页).doc》由会员分享,可在线阅读,更多相关《基于人口增长模型的数学建模(共9页).doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上数学建模论文 题 目:人口增长模型的确定 专业、姓名: 专业、姓名: 专业、姓名: 人口增长模型 摘 要 随着人口的增加,人们越来越认识到资源的有限性,人口与资源之间的矛盾日渐突出,人口问题已成为世界上最被关注的问题之一。问题给出了17901980年间美国的人口数据,通过分析近两百年的美国人口统计数据表,得知每10年的人口数的变化。预测美国未来的人口。对于问题我们选择建立Logistic模型(模型2)现实中,影响人口的因素很多,人口也不能无限的增长下去,Logistic 模型引进常数N 表示自然资源和环境所能承受的最大人口数,因而得到了一个贝努利方程的初值问题公式,从
2、实际效果来看,这个公式较好的符合实际情况的发展,随着时间的递增,人口不是无限增长的,而是趋近于一个数,这个即为最大承受数。我们还同时对数据作了深入的探讨,作数据分析预测,通过观测比较选择一个比较好的拟合模型(模型3)进行预测。预测接下来的每隔十年五次人口数量,分别为251.4949, 273.5988 , 293.4904 , 310.9222 325.8466。关键词:人口预测 Logistic模型 指数模型一、 问题重述1790-1980年间美国每隔10年的人口记录如下表所示。表1 人口记录表年份1790180018101820183018401850186018701880人口(106)
3、3.95.37.29.612.917.123.231.438.650.2年份1890190019101920193019401950196019701980人口(106)62.976.092.0106.5123.2131.7150.7179.3204.0226.5试用以上数据建立马尔萨斯(Malthus)人口指数增长模型,并对接下来的每隔十年预测五次人口数量,并查阅实际数据进行比对分析。如果数据不相符,再对以上模型进行改进,寻找更为合适的模型进行预测。二、 问题分析人口预测是一个相当复杂的问题,影响人口增长除了人口数与可利用资源外,还与医药卫生条件的改善,人们生育观念的变化等因素有关. 可以采
4、取几套不同的假设,做出不同的预测方案,进行比较。人口预测可按预测期长短分为短期预测 (5年以下)、中期预测(520年)和长期预测(2050年)。在参数的确定和结果讨论方面,必须对中短期和长期预测这两种情况分开讨论。中短期预测中所用的各项参数以实际调查所得数据为基础,根据以往变动趋势可较准确加以估计,推算结果容易接近实际,现实意义较大。三、 问题假设1.在模型中预期的时间内,人口不会因发生大的自然灾害、突发事故或战争等而受到大的影响;2. 假设美国人口的增长遵循马尔萨斯人口指数增长的规则3. 假设人口增长不受环境最大承受量的限制四、 变量说明: 数据的起始时间,即1790年t: 时间r: 人口增
5、长率x:人口常数最大值五、 模型建立模型一 图一由图1可以发现美国人口的变化规律曲线近似为一条指数函数曲线,因此我们假设美国的人口满足函数关系x=f(t), f(t)=ea+bt,a,b为待定常数,根据最小二乘拟合的原理,a,b是函数的最小值点。其中xi是ti时刻美国的人口数。利用MATLAB软件中的曲线拟合程序“lsqcurvefit”。模型二上述模型对过去的统计数据吻合得较好,但也存在问题,即人口是呈指数规律无止境地增长,此时人口的自然增长率随人口的增长而增长,这不可能。一般说来,当人口较少时增长得越来越快,即增长率在变大;人口增长到一定数量以后,增长就会慢下来,即增长率变小这是因为,自然
6、资源、环境条件等因素不允许人口无限制地增长,它们对人口的增长起着阻滞作用,而且随着人口的增加,阻滞作用越来越大。而且人口最终会饱和,趋于某一个常数x,我们假设人口的静增长率为r(1-x(t)/x),即人口的静增长率随着人口的增长而不断减小,当t时,静增长率趋于零。按照这个假设,得到 (1)这便是荷兰数学家Verhulst于19世纪中叶提出的阻滞增长模型(logistic模型)。 利用分离变量法,人口的变化规律为: (2)利用MATLAB软件中的“lsqcurvefit”命令和函数(2) 来拟合所给的人口统计数据,从而确定出(2)中的待定参数r和x。模型三从图5 看出,在前一段吻合得比较好,但在
7、最上面,若拟合曲线更接近原始数据,对将来人口的预测应该更好。因此,把用函数(2)来拟合所给人口统计数据的评价准则略加修改,看效果如何。将拟合准则改为: 其中w为右端几个点的误差权重,在此处应该取为大于1的数,这样会使右边的拟合误差减小,相应的,其他点的误差会有所增加。如何才能使这些误差的增减恰当呢?可以通过调整w和n的具体取值,比较他们取各种不同值时的拟合效果,从而确定出一个合适的数值。六、 模型求解模型一图二a =0.0154 -25.1080x1 =279.0104x2 =325.6156x3 =380.0056x4 =443.4808X5=517.5587模型二图三a =285.8931
8、 0.0286x1=230.9149x2 =242.5078x3 =252.0148x4 =259.6639x5 =265.7242模型三图四a =388.7178 0.0260x1 =251.4949x2 =273.5988x3 =293.4904x4 =310.9222x5 =325.8466七、 结果分析从图二可以看出,模型一对过去的统计数据吻合得较好,但也存在问题,即人口是呈指数规律无止境地增长,此时人口的自然增长率随人口的增长而增长,这不可能。一般说来,当人口较少时增长得越来越快,即增长率在变大;人口增长到一定数量以后,增长就会慢下来,即增长率变小这是因为,自然资源、环境条件等因素不
9、允许人口无限制地增长,它们对人口的增长起着阻滞作用,而且随着人口的增加,阻滞作用越来越大。而且人口最终会饱和,趋于某一个常数。这时模型二比较符合。从图三看,在前一段吻合得比较好,但在最上面,若拟合曲线更接近原始数据,对将来人口的预测应该更好。因而用将模型二进行改进后的模型三拟合,此时后面的值更为拟合,预测结果更为准确。所以,1990-2030年的人口预测数目为251.4949,273.5988,293.4904,310.9222,325.8466(百万),经过与1990,2000,2010的实际查找数据(251.4,281.4,308.7)比较,误差较小,可以作为预测数据。八、 参考文献【1】
10、姜启源,谢金星,叶俊,数学模型(第三版),北京:高等教育出2003九、 附录一function f=fun1(a,t)f=exp(a(1)*t+a(2);t=1790:10:1980;x=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;plot(t,x,-*);a0=0.001,1;a=lsqcurvefit(fun1,a0,t,x)ti=1790:5:2040;xi=fun1(a,ti);hold onplot(ti,xi,.);t1=1990
11、;x1=fun1(a,t1)t2=2000;x2=fun1(a,t2)t3=2010;x3=fun1(a,t3)t4=2020;x4=fun1(a,t4)t5=2030;x5=fun1(a,t5)hold off二x=1790:10:1980;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;plot(x,y,-*);a0=0.001,1;a=lsqcurvefit(fun3,a0,x,y)xi=1790:5:2040;yi=fun3(a,xi
12、);hold onplot(xi,yi);t1=1990;x1=fun3(a,t1)t2=2000;x2=fun3(a,t2)t3=2010;x3=fun3(a,t3)t4=2020;x4=fun3(a,t4)t5=2030;x5=fun3(a,t5)hold off三function f=fun4(a)n=16;w=30;x=1790:10:1980;x1=x(1:n);x2=x(n+1:20);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.
13、5;y1=y(1:n);y2=y(n+1:20);f=fun3(a,x1)-y1,w*fun3(a,x2)-w*y2;t=1790:10:1980;x=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;plot(t,x,-*);a0=300,0.03;a=lsqnonlin(fun4,a0)ti=1790:5:2040;xi=fun3(a,ti);hold on;plot(ti,xi,t,x,*);t1=1990;x1=fun3(a,t1)t2=2000;x2=fun3(a,t2)t3=2010;x3=fun3(a,t3)t4=2020;x4=fun3(a,t4)t5=2030;x5=fun3(a,t5)hold off专心-专注-专业