佛山科学技术学院上机报告课程名称数学建模上机项目人口模型专业班级一、问题提出人口问题是当前世界上人们最关心的问题之一。认识人口数量的变化规律,作出较准确的预报,是有效控制人口增长的前提。要求:分别建立并求解两个最基本的人口模型,即:指数增长模型和Logistic模型,并利用表1给出的近两百年的人口统计数据,画出图形拟合数据,对模型做出检验,最后用它预报2000年的人口。表1人口统计数据年(公元)人口(百万)17903.918005.318107.218209.6183012.9184017.1185023.2年(公元)人口(百万)186031.4187038.6188050.2189062.9190076.0191092.01920106.5年(公元)人口(百万)1930123.21940131.71950150.71960179.31970204.01980226.51990251.4二、问题分析人口的变化受到众多方面因素的影响。人口数量对人类的发展影响也是与日俱增。所以对人口数量的控制和预测也显得尤为重要。就此我们需要找到更好更精确的人口增长模型来预测人口数量。就此,根据题目所给的信息,就美国从1790年至2000年的人口增长入手,用指数增长模型的检验人口增长是否相符,预测人口增长。并改进成阻滞增长模型,并用它预测人口增长。1.先用指数增长模型检验人口增长是否相符。由于经历的时间比较长,所以我们分为长期和短期分别检验。就会发现规律,短期的符合该模型,而长期而言后半期明显计算的增加的比较快。根据这个问题我们找原因。由于资源、环境问题使阻滞增长人口模型人口增加到一定数量时,增长率会减慢。据此改进我们就得到了第二个模型。2.得到第二个模型后先找规律,找关键点。及增长率随时间的变化以及人口容量值。分析人口随时间变化率与人口容量的关系。然后得出人口与时间的关系。最后检验计算值与实际值是否相符,很明显相符的。所以我们就可以用之预测人口数量了。3.分析两模型的优缺点,适用范围,以便我们更广泛明了的使用。模型一:指数增长(Malthus)模型:三、模型假设:1.时刻t人口增长的速率与当时人口数成正比,增长率为常数r。2.以x(t)表示时刻t某地区(或国家)的人口数,设人口数x(t)足够大,可以视做连续函数处理,且x(t)关于t连续可微。符号说明t表示某一时刻;x(t)表示时刻t某地区(或国家)的人口数;r表示人口增长率为常数。四、模型建立:今年人口x0,年增长率r,k年后人口指数增长模型——马尔萨斯提出(1798)基本假设:人口(相对)增长率r是常数x(t)~时刻t的人口0,(0)dxrxxxdt(1)220()()rtxtxeab0(1)txr随着时间增加,人口按指数规律无限增长五、模型求解(显示模型的求解方法、步骤及运算程序、结果)解微分方程(1)得(2)表明:t时,tx(r0)模型的参数估计:要用模型的结果(2)来预报人口,必须对其中的参数r进行估计,这可以用表1-1的数据通过拟合得到.拟合的具体方法见本书第16章或第18章.通过表中1790—1980的数据拟合得:r=0.307.模型检验:将x0=3.9,r=0.307代入公式(2),求出用指数增长模型预测的1810—1920的人口数,见下图:kkrxx)1(0()()()xttxtrtxtrtextx0)(程序代码:M文件:functionx=renkou1(beta,t)x=3.9*exp(beta.*t);t=0:1:20;x=[3.95.37.29.612.917.123.231.438.650.262.976.092.0106.5123.2131.7150.7179.3204.0226.5251.4];beta0=0.1;[beta,r,J]=nlinfit(t',x','renkou1',beta0);betay=renkou1(beta,t)[YY,delta]=nlpredci('renkou1',t',beta,r,J);plot(t,x,'b*',t,YY,'r')error=abs(y-x)画图:(根据拟合出的数据和原来数据填写表格)表2实际人口与按指数增长模型计算的人口比较年(公元)实际人口(百万)指数增长模型计算出人口(百万)误差17903.93.9000018005.34.84440.455618107.26.01761.182418209.67.47482.1252183012.99.28493.6151184017.111.53345.5666185023.214.32648.8736186031.417.795713.6043187038.622.105116.4949188050.227.458222.7418189062.934.107528.7925190076.042.367133.6329191092.052.626839.37321920106.565.371141.12891930123.281.201641.99841940131.7100.865630.83441950150.7125.291525.40851960179.3155.632423.66761970204.0193.320810.67921980226.5240.135913.63591990251.4298.287946.8879(分析原因,该模型的结果说明人口将以指数规律无限增长。而事实上,随着人口的增加,自然资源、环境条件等因素对人口增长的限制作用越来越显著。下需要对该模型进行改进,即阻滞增长模型。)模型二:Logistic模型(阻滞增长模型)模型假设:(a)人口增长率r为人口tx的函数xr(减函数),最简单假定0,,srsxrxr(线性函数),r叫做固有增长率.(b)自然资源和环境条件年容纳的最大人口容量mx.符号说明:r表示人口增长率,x(t)表示增长率为r时人口数量mx表示自然资源和环境条件年容纳的最大人口容量mx模型建立:当mxx时,增长率应为0,即mrx=0,于是mrsx,代入sxrxr得:m1xrxrx(3)将(3)式代入(1)得:模型:m010dxxrxdtxxx(4)模型求解:解方程组(4)得mm011rtxxtxex(5)根据方程(4)作出ddxxt曲线图,见图1,由该图可看出人口增长率随人口数的变化规律.根据结果(5)作出x-t曲线,见图2,由该图可看出人口数随时间的变化规律.模型的参数估计:利用表1中1790—1980的数据对r和mx拟合得:r=0.2072,mx=464.模型检验:将r=0.2072,mx=464代入公式(5),求出用指数增长模型预测的1800—1990的人口数,也可将方程(4)离散化,得)())(1()()()1(txxtxrtxxtxtxmt=0,1,2,…,(6)用公式(6)预测1800—1990的人口数程序代码:Oxmx2mx错误!未找到引用源。图1dxxdt曲线图xmx20x0xtO图2x-t曲线图M文件:functionf=renkou2(beta,t)f=beta(1)./(1+((beta(1)/3.9)-1)*exp(-beta(2)*t))t=0:1:20;x=[3.95.37.29.612.917.123.231.438.650.262.976.092.0106.5123.2131.7150.7179.3204.0226.5251.4];beta0=[10,0.1];beta=lsqcurvefit('renkou2',beta0,t,x);f=renkou2(beta,t)plot(t,x,'r*',t,f)error=abs(f-x)画图:(根据拟合出的数据和原来数据填写表格)表2实际人口与按指数增长模型计算的人口比较年(公元)实际人口(百万)logistic模型计算出人口(百万)误差17903.93.90000.000018005.35.13850.161518107.26.76170.438318209.68.88290.7171183012.911.64401.2560184017.115.22021.8798185023.219.82243.3776186031.425.69575.7043187038.633.11185.4882188050.242.35187.8482189062.953.67389.2262190076.067.26748.7326191092.083.19498.80511920106.5101.33175.16831930123.2121.32551.87451940131.7142.593410.89341950150.7164.374813.67481960179.3185.83266.53261970204.0206.17802.17801980226.5224.78101.71901990251.4241.234410.1656根据对比可知,第二个模型更好,所以我们用第二个模型来预测。人口预测现应用该模型预测人口.用表1中1790—1990年的全部数据重新估计参数,可得r=0.2083,mx=457.6.用公式(6)作预测得:x(2000)=275;x(2010)=297.9.也可用公式(5)进行预测.