当前位置:文档之家› 数学建模-人口增长模型

数学建模-人口增长模型

数学建模-人口增长模型
数学建模-人口增长模型

人口增长模型

摘要

本文根据某地区的人口统计数据,建立模型估计该地区2010年的人口数量。

首先,通过直观观察人口的变化规律后,我们假设该地区的人口数量是时间的二次函数,建立了一个二次函数模型,并用最小二乘法对已有数据进行拟合得到模型的具体参数,从而可以预测2010年的人口数为333.8668百万。

然后,我们发现从1980年开始该地区的人口增长明显变慢,于是我们假设人口增长率是人口数的线性减函数,即随着人口数的增加,人口的增长速度会慢慢下降,从而我们建立了阻滞增长模型,利用此模型我们最后求出2010年的人口预报数为296.3865。

关键字:人口预报,二次函数模型,阻滞增长模型

问题重述:

根据某地区人口从1800年到2000年的人口数据(如下表),建立模型估计出该地区2010年的人口,同时画出拟合效果的图形。

表1 该地区人口统计数据

符号说明

)(t x t 时刻的人口数量 0x 初始时刻的人口数量 r 人口增长率

m x 环境所能容纳的最大人口数量,即0)( m x r

问题分析

首先,我们运用Matlab 软件[1]编程(见附件1),绘制出1800年到2000年的人口数据图,如图1。

18001820184018601880190019201940196019802000

图1 1800年到2000年的人口数据图

从图1我们可以看出1800年到2000年的人口数是呈现增长的趋势的,而且类似二次函数增长。所以我们可以建立了一个二次函数模型,并用最小二乘法对已有数据进行拟合得到模型的具体参数。

于是我们假设人口增长率是人口数的线性减函数,即随着人口数的增加,人口的增长速度会慢慢下降,从而我们可以建立一个阻滞增长模型。

模型建立

模型一:二次函数模型

我们假设该地区t时刻的人口数量的人口数量)(t x是时间t的二次函数,即:

2()x t at bt c =++

我们可以根据最小二乘法,利用已有数据拟合得到具体参数。即,要求a 、b 和

c ,使得以下函数达到最小值:

221

(,,)()n

i i i i E a b c at bt c x ==++-∑

其中i x 是i t 时刻该地区的人口数,即有:

2222)3.28020002000...)2.718001800(),,(-+?+?++-+?+?=c b a c b a c b a E

0,0,0E E E a b c

???===???,可以得到三个关于a 、b 和c 的一次方程,从而可解得a 、b 和c 。

我们用Matlab 编程(见附件2),解得=a 0.006018,357.21-=b ,18948=c ,即:

18948

357.21006018.0)(2+-=t t t x

从而我们可以预测2010年的人口数为8668.333)2010(=x 百万。

1800

18501900

195020002050

年份

人口数

图2 二次函数模型的拟合效果图

图2是所得到的二次函数模型和原数据点的拟合效果图。 从图2可以看出拟合的效果在1950年之前还可以,但是对后期的数据拟合的不好。

模型二:阻滞增长模型

我们假设人口增长率r 是人口数x 的线性减函数,即随着人口数的增加,人口增长速度会慢慢下降:

0()r x r sx =-

人口数量最终会达到饱和,且趋于一个常数m x ,当m x x =时,增长率为0:

00m r sx -=

由上面的关系式可得出:

0()1m x r x r x ??

=- ???

把上式代进指数增长模型的方程中,并利用初始条件2.7)1800(=x ,可以得到:

?

????=???

?

?

?-=2

.7)1800(10x x x x

r dt dx m 解得:

)

1800(172101)(--??

? ??-+=

t r m m

e x x t x

我们可以利用已有数据拟合求解得(程序见附件4):

36.334=m x , =r -0.027958。

可以预测2010年的人口数为3865.296)2010(=x 百万。

1800

18501900

195020002050

年份

人口数

相关主题
文本预览
相关文档 最新文档