佛山科学技术学院
上 机 报 告
课程名称 数学应用软件 上机项目 人口的预测和控制
专业班级 姓 名 学 号
具体参考教材P163
一、问题提出
人口问题是当前世界上人们最关心的问题之一。认识人口数量的变化规律,作出较准确的预报,是有效控制人口增长的前提。
要求:分别建立并求解两个最基本的人口模型,即:指数增长模型和Logistic模型,并利用表1给出的近两百年的人口统计数据,画出图形拟合数据,对模型做出检验,最后用它预报2000年的人口。
表1 人口统计数据
年(公元) 人口(百万) 年(公元) 人口(百万) 年(公元) 人口(百万)
1790 3.9 1860 31.4 1930 123.2 1800 5.3 1870 38.6 1940 131.7 1810 7.2 1880 50.2 1950 150.7 1820 9.6 1890 62.9 1960 179.3 1830 12.9 1900 76.0 1970 204.0 1840 17.1 1910 92.0 1980 226.5 1850 23.2 1920 106.5 1990 251.4 模型一:指数增长(Malthus)模型:
模型假设:假设人口(相对)增长率 r 是常数;
假设t时刻的人口为x(t),将x(t)视为连续、可微函数。
符号说明
记初始时刻(t=0)的人口为x0 ,人口(相对)增长率 r,
模型建立:单位时间内x(t)的增量
dx等于r乘以x(t),则x(t)满足微分方程 dtdx?rx,x(0)?x0 dt
模型求解:取初始值x(0)=3.9 Matlab程序:
dsolve('Dx=r*x','x(0)=3.9','t')
结果:
ans =
(39*exp(r*t))/10
故函数为x(t)?3.9ert。
模型的参数估计:(即由数据求出参数r) Matlab程序:
function RK=volum(beta,t) RK=3.9*exp(beta(1)*t);
t=0:1:20;
x=[3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76.0 92.0 106.5 123.2 131.7 150.7 179.3 204.0 226.5 251.4]; beta0=[0.01];
[beta,r,J]=nlinfit(t',x','renkoumoxing2',beta0); beta
结果: beta =
0.2169
模型检验
画图:画出原数据和已求数据的拟合图形
时间:t=0:1:20;
数据:x=[3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76.0 92.0 106.5 123.2 131.7 150.7 179.3 204.0 226.5 251.4];
Matlab程序: t=0:1:20;
x=[3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76.0 92.0 106.5 123.2 131.7 150.7 179.3 204.0 226.5 251.4]; y=3.9*exp(0.2169*t); y
plot(t,x,'*',t,y,'r'); wucha=abs(x-y)
作图:
(根据拟合出的数据和原来数据填写表格)
表2 实际人口与按指数增长模型计算的人口比较
年 (公元) 1790 1800 实际人口 (百万) 3.9 5.3 指数增长模型 计算出人口(百万) 3.9000 4.8447 误差 0 0.4553
1810 1820 1830 1840 1850 1860 1870 1880 1890 1900 1910 1920 1930 1940 1950 1960 1970 1980 1990
7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76.0 92.0 106.5
123.2
131.7 150.7 179.3 204.0 226.5 251.4
6.0181 7.4758 9.2866 11.5360 14.3303 17.8014 22.1132 27.4695 34.1232 42.3885 52.6558 65.4101 81.2537 100.9350 125.3834 155.7538 193.4805 240.3453 298.5617
1.1819 2.1242 3.6134 5.5640 8.8697 13.5986 16.4868 22.7305 28.7768 33.6115 39.3442 41.0899 41.9463 30.7650 25.3166 23.5462 10.5195 13.8453 47.1617
(分析原因,该模型的结果说明人口将以指数规律无限增长。而事实上,随着人口的增加,自然资源、环境条件等因素对人口增长的限制作用越来越显著。下需要对该模型进行改进,即阻滞增长模型。)
模型二:Logistic模型(阻滞增长模型)
模型假设:(1)假设人口增长到一定数量后,增长率r下降,且r随着人口数量x的增加
而下降;
(2)假设r表示为x的函数r(x)时减函数;
(3)假设x=xm时,人口不再增长,即增长率人(xm)=0。
符号说明
r表示固有增长率,xm表示人口容量
模型建立:阻滞作用体现在对人口增长率r的影响上,使得r随着人口数量x的增加而下降。若将r表示为x的函数r(x),则它应是减函数,则
dx?r(x)x,x(0)?x0 (1) dt对r(x)的一个最简单的假设是,设r(x)为x的线性函数,即
r(x)?r?sx(r,s?0) (2)
当x=xm时人口不再增长,即
r(xm)?0 (3)
(2)式代入(3)式,得
s?x), xmr xm于是得到,r(x)?r(1?所以,(1)式变为
dxx?rx(1?),x(0)?x0 dtxm模型求解:取初始值x(0)=3.9
利用分离变量法,得
x(t)?xmx1?(m?1)e?rt3.9
模型的参数估计(即由数据求出参数r和Xm)
模型检验 画图:
(根据拟合出的数据和原来数据填写表格)
表2 实际人口与按指数增长模型计算的人口比较
年 (公元) 1790 1800 1810 实际人口 (百万) 3.9 5.3 7.2 logistic模型 计算出人口(百万) 误差 1820 9.6 1830 12.9 1840 17.1 1850 23.2 1860 31.4 1870 38.6 1880 50.2 1890 62.9 1900 76.0 1910 92.0 1920 106.5
1930 123.2
1940 131.7 1950 150.7 1960 179.3 1970 204.0 1980 226.5 1990
251.4
根据对比可知,第二个模型更好,所以我们用第二个模型来预测。人口预测