指数增长模型,由马尔萨斯在1798年提出
基本假设:人口(相对)增长率r是常数(r很小) 相对增长率 = 出生率 - 死亡率
(2)影响人口增长的因素人口的基数 出生率和死亡率 年龄结构 性别比例 工农业生产水平 医疗水平 政府出台的政策 民族政策 …
(3)建立模型我们用 x(t) 表示 t 时刻的人口
那么有 x ( t + △ t ) − x ( t ) = r x ( t ) △ t x(t+△t) - x(t) = rx(t)△tx(t+△t)−x(t)=rx(t)△t (其中x为人口基数)
所以 (x(t+△t)−x(t))△t= r x ( t ) \frac{(x(t+△t) - x(t)) }{ △t} = rx(t)△t(x(t+△t)−x(t))=rx(t)
根据高数知识,求得 dxdt= r x , x ( 0 ) =x 0\frac{dx }{dt} = rx, x(0) = x_{0}dtdx=rx,x(0)=x0
求得: x ( t ) =x 0 ertx(t) = x_{0}e^{rt}x(t)=x0ert
结论:随着时间的增加,人口按指数规律无限增长
(4)结论可以进行短期的人口预测,较为符合 但是之后误差就很大了
(5)举例(Matlab代码)eg:已知一组数据如下:
t = [1790 1800 1810 1820 1830 1840 1850 1860 1870 1880 1890 1900]; p = [3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76.0]; t为年份,p为对应的人口数量,单位为:百万
因为马尔萨斯模型为指数函数为了线性拟合数据,我们对其进行如下操作:
两边同时取对数:
可得: l n ( x ) = l n (x 0) + r t ln(x) = ln(x_{0}) + rtln(x)=ln(x0)+rt
t = [1790 1800 1810 1820 1830 1840 1850 1860 1870 1880 1890 1900];p = [3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76.0];y = log(p); %求ln(p)函数值a = polyfit(t,y,1) %用一次多项式对t和y进行拟合z = polyval(a,t); %求得以a为系数的多项式在t处的函数值z1 = exp(z)r = a(1)plot(t,p,'bo',t,z1,'r') %分别画出散点图以及拟合曲线图xlabel('时间');ylabel('人口数量');legend('实际数据','理论曲线');作图如下(短期内基本吻合):
输出结果如下:
%结果如下,增长率r=0.0274a =0.0274 -47.6717z1 = 列 1 至 54.18845.51057.24989.538212.5488 列 6 至 1016.509721.720928.576937.596949.4640 列 11 至 1265.076985.6179r =0.0274当 我 们 用 更 多 的 数 据 进 行 长 期 拟 合 是 就 会 发 现 该 方 法 做 出 来 的 差 别 较 大 ! {\color{Red}当我们用