matlab解偏微分方程的函数(偏微分方程解法总结)

一.Malthus模型(指数模型)(1)提出以及假设(2)影响人口增长的因素(3)建立模型(4)结论(5)举例(Matlab代码)二.Logistic模型(阻滞增长模型)(1)背景(2)建立 r 的关系式(3)模型建立(4)结论(5)举例(Matlab代码)三.总结

1一.Malthus模型(指数模型)

(1)提出以及假设

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

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

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

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

(3)建立模型

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

那么有

matlab解偏微分方程的函数(偏微分方程解法总结)

%结果如下,增长率r=0.0274

a =

0.0274 -47.6717

z1 =

列 1 至 5

4.1884 5.5105 7.2498 9.5382 12.5488

列 6 至 10

16.5097 21.7209 28.5769 37.5969 49.4640

列 11 至 12

65.0769 85.6179

r =

0.0274

当我们用更多的数据进行长期拟合是就会发现该方法做出来的差别较大!

二.Logistic模型(阻滞增长模型)

(1)背景

由于人口不可能无限制的增长,当人口达到一定数量后,那么增长率就会下降。

我们要模拟这种增长率的变化

这里简化的将增长率 r 看做是人口 x 的减函数

(2)建立 r 的关系式

假设 r(x) = r – sx (r,s>0) 当x很小时,r仍为固有增长率,s为待求系数

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

matlab解偏微分方程的函数(偏微分方程解法总结)

(4)结论

最终得到 s 型增长曲线,x增长先快后慢,最终接近峰值 xm

该模型同样可以用于种群数量中(鱼群的捕捞要控制在 xm/2 附近,而害虫的防治要远远低于 xm / 2)

(5)举例(Matlab代码)

已知一组数据同上:

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为对应的人口数量,单位为:百万

matlab解偏微分方程的函数(偏微分方程解法总结)

结果如下:

%第一个参数为 Xm,第二个参数为 r

x =

337.4308 0.0257

三.总结

Malthus 和 Logistic 均为宏观模型,它们考虑的方面比较少。而且不考虑年龄分布。

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

1)Leslie差分方程模型

2)Verhulst偏微分方程模型

3)Pollard随机方程模型

(0)
小多多的头像小多多创始人

相关推荐

发表回复

登录后才能评论