MATLAB 阻滞增长模型
AI-摘要
小嗷犬 GPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
MATLAB 阻滞增长模型
小嗷犬人口增长模型
Malthus模型(指数模型)
最早的人口增长模型是 Malthus 于 1798 年提出的指数模型,基本假设是人口增长率 r
是常数。
这个模型的问题在于,它没有考虑到人口增长的阻滞因素,即人口增长的上限。因此,当预测时间 t
较短时,模型的预测结果是合理的,但是当预测时间 t
较长时,模型的预测结果就会出现较大的误差。
Logistic模型(阻滞增长模型)
由于人口不可能无限制的增长,当人口达到一定数量后,那么增长率就会下降。因此, Verhulst 于 1838 年提出了阻滞增长模型,基本假设是人口增长率 r
随着人口数量 N
的增加而减小。
人口增长率 r
是一个关于人口数量 N
的线性函数:
人口增长率 r
的函数形式为:
其中, r
是人口增长率的最大值, s
是人口增长率的下降速率。
而人口增长率的下降速率与人口容量 K
有关,即:
结合上述公式,得到人口的增长速度:
最后得出阻滞增长模型:
MATLAB 实现阻滞增长模型
1 |
|
例
根据美国人口数据进行预测,美国人口数据如下:
年份 | 1790 | 1800 | 1810 | 1820 | 1830 | 1840 | 1850 | 1860 | 1870 | 1880 | 1890 |
---|---|---|---|---|---|---|---|---|---|---|---|
人口/百万 | 3.9 | 5.3 | 7.2 | 9.6 | 12.9 | 17.1 | 23.2 | 31.4 | 38.6 | 50.2 | 62.9 |
年份 | 1900 | 1910 | 1920 | 1930 | 1940 | 1950 | 1960 | 1970 | 1980 | 1990 | 2000 |
---|---|---|---|---|---|---|---|---|---|---|---|
人口/百万 | 76.2 | 92.2 | 106.5 | 123.2 | 132.2 | 151.3 | 179.3 | 203.2 | 226.5 | 249.6 | 281.4 |
数据来源:美国人口数据
MATLAB 中提供了 nlinfit
函数,可以用来拟合非线性模型,其语法格式如下:
1 |
|
其中, X
是自变量, Y
是因变量, modelfun
是模型函数, beta0
是模型参数的初始值, beta
是模型参数的估计值。
使用 nlinfit
函数进行拟合:
1 |
|
得到参数估计值:
1 |
|
预测并绘图:
1 |
|
可以看出,预测结果与原始数据非常接近。
预测 2080 年的美国人口数量变化趋势:
1 |
|
评论
隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果