
数学0班 王敬华 丘创权 黄建其
摘要
本文根据某个地区的人口从1800年到2000年间的人口数据,利用matlab7.0数据拟合,建立线性增长模型和二次函数增长模型,并对2010年的人口数进行预测。在本文中,二次函数增长模型拟合的效果明显比线性增长模型差,用线性函数增长模型预测出2010年该地区的人口总数为260.2百万,用二次函数增长模型预测出2010年该地区的人口总数为293.33百万。
关键字
人口预测 matlab 7.0
问题重述
根据以下某个地区的人口从1800年到2000年间的人口数据(如下表),建立人口增长模型(比如线性增长模型或者二次函数增长模型),并确定其中的待定参数,估计出该地区2010年的人口,同时画出拟合效果的图形。
某地区人口统计数据(×106)
| 年 份 | 1800 | 1810 | 1820 | 1830 | 1840 | 1850 | 1860 |
| 人口 | 7.1 | 13.9 | 17.1 | 17.6 | 24.7 | 33.6 | 36.2 |
| 年 份 | 1870 | 1880 | 10 | 1900 | 1910 | 1920 | 1930 |
| 人口 | 48.7 | 58 | 73.4 | .9 | 105.7 | 125.8 | 149 |
| 年 份 | 1940 | 1950 | 1960 | 1970 | 1980 | 1990 | 2000 |
| 人口 | 172.1 | 1.8 | 230.5 | 246.7 | 262.1 | 271.1 | 280.2 |
根据所给的人口数据,我们借助MATLAB首先作出散点图进行观察分析:(如下图)
从散点图中,我们可以看出,人口是逐年增长的,于是我们想到了线性的增长和二次涵数的增长,但由于这两个模型并没有考虑到人口增长不可能是无限的,它受到此地区很多因数的影响,如:资源,环境,医疗,国家,战争,疾病,生育观念……。现在我们忽略这些影响,对这两个模型的预测进行比较。
模型建立
模型一:线性增长模型。(即为y=ax+b模型)
1、模型假设:
忽略环境对人口的影响,假设人口无限增长,人口增长率是恒变量。
2、模型变量和函数定义:
A 人口增长率;
B 初始时刻的人口数量,即:
3、模型建立:
依照上面的假设和定义,我们可以构造如下模型:
Y=Ax+B
我们借助MATLAB进行拟合。如下图:
利用MATLAB求得系数a=1.0e+003 *0.0015;b=1.0e+003*(-2.7548)
即a=1.5 ;b=-2754.8;
因此模型为:
4、模型结果分析:
线性增长型模型虽然在一定程度上可以表明人口是在不断的增长,但由于没有考虑到自然因数,人为因素和环境因数的影响,因此我们建立了模型二。
模型二:二次函数增长模型。
1、模型假设:
人口增长率是常数,即单位时间内人口的增长量与当时的人口量成正比
2、模型变量和函数定义:
时刻的人口数量;
初始时刻的人口数量,即:;
3、模型的建立:
依照上面的假设和定义,我们可以构造如下模型:
我们借助MATLAB进行拟合。
如下图:
图3
利用MATLAB求得系数:a=0.006 b=-21.327 c=120
因此所求的模型为:
模型结果分析:
根据拟合图形比较,二次函数增长模型虽然在一定程度上反映了人口的增长规律,特别是在1800—2000年这个时间段,通过修改相关初始参数可以得到很好的拟和效果,所以在这个时间段内的人口增长趋势更接近于二次函数增长方式。但由于自然因素和环境因素的影响,使得在1980年后的拟合效果偏差较大,相对来说,线性增长模型虽然整体看来拟合效果没有二次函数增长模型的好,但从后几年来看,线性增长模型中拟合的一次函数直线趋势与实际人口增长趋势比较接近,所以我们选择用线性增长模型来预测2010年的人口数。
