人口指数增长模型(人口增长模型函数

一. Malthus模型(指数模型)1)提案及假设)2)影响人口增加的主要因素)3)模型的制作)4)结论)5)例) Matlab代码)Logistic模型)区块成长模型) 1

Malthus模型(指数模型) )。

(1)提出以及假设

指数增长模型由马尔萨斯于1798年提出

基本假设:人口(相对)增长率r为常数) r小)相对增长率=出生率-死亡率

(2)影响人口增长的因素

人口基数生育率和死亡率年龄结构性别比例工农业生产水平医疗水平政府公布的政策民族政策…

(3)建立模型

我们用x(t )表示时刻t的人口

结论随着时间的增加,人口将呈指数级无限增长

4 )结论

可以进行短期的人口预测,比较相符

但是后来误差变大了

(5)示例(Matlab代码) ) ) ) )。

eg :已知的数据如下。 (因为不擅长击球,所以大家一起看吧) :

t=[ 179018001810182018301840185018601870188018901900 ];

p等于3.95.37.29.612.917.123.231.438.650.262.976.0;

t是年,p是对应的人口数,单位是百万

由于马尔萨斯模型是指数函数,因此为了使数据与线性匹配,可以按照如下方法进行操作。

两边取对数:

(得) ln ) x )=ln ) x0) rt

t=[ 179018001810182018301840185018601870188018901900 ];

p等于3.95.37.29.612.917.123.231.438.650.262.976.0;

y=log(p; 求%ln(p )函数值

用一次多项式拟合a=polyfit(t,y,1 ) %t和y

z=多值(a,t ); %求出以a为系数的多项式在t中的函数值

Z1=exp(Z ) )

r=a(1) ) )。

plot(t、p、’ bo ‘、t、z1、’ r ‘ ) %分别描绘散点图和拟合曲线

xlabel (‘时间);

ylabel (人口数);

legend (实际数据)、)理论曲线);

作图如下(短期内基本一致) :

%的结果是增长率r=0.0274

a=

0.0274 -47.6717

z1=

第1列至第5列

4.18845.51057.24989.538212.5488

第6列到第10列

6.509721.720928.576937.596949.4640

列11~12

65.0769 85.6179

r=

0.0274

如果使用更多的数据进行长期拟合,就会发现这种方法差异很大!

Logistic模型(块增长模型) )。

(一)背景

因为人口不能无限制地增加,所以人口达到一定数量后,增长率就会下降。

我们必须模拟这个增长率的变化

在此,简单地将增长率r看作人口x的减少函数

)2)建立r的关系式

r(x )=r-sx(r,s0) x小时,设r依然是固有增长率,s是被求系数

xm是目前环境中可以容纳的最大人口容量

(3)模型建立

指数增长模型:

4 )结论

最终得到s型生长曲线,x生长从快到慢,最终接近峰值xm

该模型也适用于种群数量(鱼群的捕捞必须控制在xm/2附近,但害虫的防治远远低于xm/2 ) ) ) ) ) ) ) ) ) ) ) ) )。

(5)示例(Matlab代码) ) ) ) )。

已知的数据集如下

t=[ 179018001810182018301840185018601870188018901900 ];

p等于3.95.37.29.612.917.123.231.438.650.262.976.0;

t是年,p是对应的人口数,单位是百万

下面的代码由两个文件组成。

%代码如下

t=[ 1790180018101820182018401840185018601860188018901900191019301940195019601970198019801990 ];

p=[3. 95.37.29.612.917.123.231.438.650.262.976.092.0106.5123.2131.7150.7179.3204.0226 ]

t=t-1780; 从全部%中减去1780

x0=[ 150,0.15 ]; %保留参数x的初始值(自己根据实际情况给出初始值,然后不断调整; 第一个参数是最大人口数,第二个参数是人口增长率)

使用x=lsqcurvefit(‘population ‘,x0,t,p ) %函数求出最终的) xm,r )

P1=运算(x,t );

批次(t1780,p,’ o ‘,t1780,p1,’-r* ‘ )

title (逻辑模型拟合图) ) )。

xlabel (年);

ylabel (人口数);

legend (“实际数据”、“理论数据”)。

函数m文件

%population.m函数文件

函数g=运算(x,t ) )。

%UNTITLED2此处显示此函数的概要

%这里显示详细的说明

g=x(1)./)1) x )1)/3.9-1 ) exp(-x )2) *t ) );

结束

作图如下。

结果如下。

第%1个参数是Xm,第二个参数是r

x=

337.4308 0.0257

3 .总结

Malthus和Logistic都是宏观模型,需要考虑的地方很少。 而且不考虑年龄分布。

以下微观模型考虑年龄结构

1 ) yldjzg差分方程模型

2 ) Verhulst偏微分方程模型

3 ) Pollard随机方程模型

二分快三计划

t是年,p是对应的人口数,单位是百万

下面的代码由两个文件组成。

%代码如下

t=[ 1790180018101820182018401840185018601860188018901900191019301940195019601970198019801990 ];

p=[3. 95.37.29.612.917.123.231.438.650.262.976.092.0106.5123.2131.7150.7179.3204.0226 ]

t=t-1780; 从全部%中减去1780

x0=[ 150,0.15 ]; %保留参数x的初始值(自己根据实际情况给出初始值,然后不断调整; 第一个参数是最大人口数,第二个参数是人口增长率)

使用x=lsqcurvefit(‘population ‘,x0,t,p ) %函数求出最终的) xm,r )

P1=运算(x,t );

批次(t1780,p,’ o ‘,t1780,p1,’-r* ‘ )

title (逻辑模型拟合图) ) )。

xlabel (年);

ylabel (人口数);

legend (“实际数据”、“理论数据”)。

函数m文件

%population.m函数文件

函数g=运算(x,t ) )。

%UNTITLED2此处显示此函数的概要

%这里显示详细的说明

g=x(1)./)1) x )1)/3.9-1 ) exp(-x )2) *t ) );

结束

作图如下。

结果如下。

第%1个参数是Xm,第二个参数是r

x=

337.4308 0.0257

3 .总结

Malthus和Logistic都是宏观模型,需要考虑的地方很少。 而且不考虑年龄分布。

以下微观模型考虑年龄结构

1 ) yldjzg差分方程模型

2 ) Verhulst偏微分方程模型

3 ) Pollard随机方程模型

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注