matlab综合案例 人口增长模型

loading 分享 2026-7-17 下载文档

综合案例 人口增长模型

据人口学家们预测,到2033年 ,世界人口将突破100亿,每年增加近1亿人,以后还会迅猛增长。人们开始考虑,我们赖以生存的地球究竟是否能承受如此的增长。让我们建立数学模型来预测人口的增长。

我们关心任意时刻的人口总数N(t),即t时刻人口中生命个体的总数,而忽略他们的年龄和性别。影响总人口数的最显著的因素是个体的出生、死亡、以及进出我们所研究区域的个体数。为了简化问题,我们忽略迁入与迁出的人口,仅考虑时间段?t内人口数的变化情况。很明显,出生和死亡人数的变化将依赖于以下因素:

(1) 时间间隔?t的长短;

(2) 时间间隔开始时的人口总数。 做最简单的假设是正比关系,即

时间间隔?t内的出生人数= bn(t)?t 时间间隔?t内的死亡人数=dn(t)?t

这里b和d分别是出生率和死亡率。我们得到一个初始模型为

N(t+?t)?N(t)=(b?d)N (t) ?t (2.35)

现在可根据时间区间?t的两种情况进一步研究模型. 一种是确定一个有限的时间单位,比如?t=1年,令

Nk= N(k)=N (k ?t), k=1,2,3,? 这样方程(2.35)便是一个关于序列NK,k=1,2,3, ?的差分方程: Nk+1= (b?d+1)Nk k=1,2,3,?

我们可以根据上一年的人口数推算出第二年的人口数以及逐年的人口数。

另一种是考虑很短的时间区间?t内的人口变化。由于一个广阔区域的人口数量很大,可认为人口数N(t)是一个连续变量,因为当N(t)很大时,对应的曲线具有很小的跃变可视为平滑的,这样的处理即简化了模型又不会引起严重误差。

先将式(2.35)改写为

1N(t??t)?N(t)N(t)?t=b?d

令?t?0,则有

1dNNdt?b?d (2.36)

等式左端的表达式可以理解为“相对增长率”,对其作不同的假设可以建立不同的数学模型。

如果假设人口净增长率b和净死亡率d均为常数,从而净相对增长率r=b?d也是一个常数。记t=0时的人口数N0=N(0),得此方程的解为

N(t)= N0ert , t≥0

假若净增长率r>0,人口的预测值将以?r为公比按几何级数无限增长。

英国神父Malthus在分析了一百多年人口统计资料的基础上,建立了以上模型。人们发现十九世纪以前欧洲某些地区人口情况与Malthus模型比较相符,但此后发展情况则相差很大。仔细分析原因是模型假设过于简单,我们可以进一步考虑其他因素的影响。比如,只有在一个较短的时期内,才可以把人口净增长率

近似地看着一个常数,随着人口不断增长,环境资源所能承受的人口容量的限制,以及人口中年龄和性别结构等都会对出生和死亡产生影响,即可以将r看着人口数的函数,记为r(N)。方程(2.36)被改为

?dN?r[N(t)]N(t)? ?dt (2.37)

?N(0)?N0?求得解为

r[N(t)]dt N(t)?N0e?0

t上式中的r[N(t)]是未知函数,我们无法确定N(t)。这里遇到的情形很有趣,放宽了假设是为了得到更一般的结果,然而却什么结果都得不到了。 我们换一种思考方式,将净增长率r看成人口数N的线性函数,设r(N)=a+cN,并设r(0)=r,且对某一个数值K有r(K)=0。即有

?r(N)?a?cN? ?r(0)?r

?r(K)?0?N求解得 r(N)=r(1?K)

代入式(2.)中,有

N?dNdt?r(1?K)N(t)? 图2.10 N(0)?N0?此方程的解为

N0Kert N(t)=K?N0(ert?1)?1?(KK?1)e?rtN0 , t≥0

这也是Logistic模型,解曲线如图2.10所示(亦称Logistic曲线),我们分析上结果,有

(1) 若r<0,随着t???,则有N(t)?0;

(2) 若r>0时,对N0的任意正值,当t???时均有N(t)?K; (3) 若r=0时N(t)=N0 。 类似实例五的分析,不难看出,当N=

K2dN时,dt取最大值,此时人口增长速度

最大。Logistic模型指出,人口增长有一个稳定的平衡值K,这比Malthus模型更符合实际,这就是Logistic模型广泛用于生物数量预测中的原因。

下表给出本世纪初用Malthus模型和Logistic模型计算所得的美国人口预测数。自1790年始,每十年统计一次,取K=197273000,r=0.03134,以百万人为单位。

表2.8

年 实际统计资Malthus模误差 料(百万) 型(百万) (%) 1790 3.929 3.929 0 Logistic模误差 型(百万) (%) 3.929 0 1800 1810 1820 1830 1840 1850 1860 1870 1880 1890 1900 1910 1920 1930 1940 1950 5.308 7.240 9.638 12.866 17.069 23.192 31.443 38.558 50.156 62.948 75.995 91.972 105.711 122.775 131.669 150.697 5.308 7.171 9.668 13.088 17.682 23.888 32.272 43.599 58.901 79.574 107.503 145.234 196.208 265.074 358.109 483.798 0 5.336 -0.9 7.228 0.5 9.757 1.7 13.109 3.6 17.506 3.0 23.192 2.6 30.412 13.1 39.372 17.4 50.177 26.4 62.769 41.5 76.870 57.9 91.972 85.6 107.559 115.9 123.124 172.9 136.653 221.0 149.053 0.5 -0.2 1.2 1.9 2.6 0 -3.3 2.1 0 -0.3 1.2 0 1.7 0.3 3.8 -1.1

你仔细分析上表中的数据,可以充分体味到数学建模的魅力.

思考题:

(1) 请将此实例中的人口模型与实例中的新产品销售模型进行类比,它们在建模方法和模型描述方面有什么异同处?

(2) 此例中对人口问题中变量为连续的情形进行了较详细的讨论,请你进一步就离散变量的情形进行讨论.

(3) 一个区域内时刻t的总人数N (t) 实际上应该是一个随机变量,你可否尝试着建立一个数学模型来描述人口增长情况。


matlab综合案例 人口增长模型.doc 将本文的Word文档下载到电脑
搜索更多关于: matlab综合案例 人口增长模型 的文档
相关推荐
相关阅读