马尔萨斯 ( Malthus)人口指数增长模型&Logistic 模型

3.要求与任务

从 1790 — 1990 年间美国每隔 10 年的人口记录如下表所示:

用以上数据检验马尔萨斯 ( Malthus)人口指数增长模型,根据检验结果进一步讨论马尔萨斯
人口模型的改进,并利用至少两种模型来预测美国2010 年的人口数量。
提示 1 : Malthus 模型的基本假设是:人口的增长率为常数,记为 r 。记时刻 t的人口为
x ( t )(即 x ( t )为模型的状态变量),且初始时刻的人口为 ,于是得到如下微分方程:

在这里插入图片描述

提示 2 :阻滞增长模型(或 Logistic 模型) 由于资源、环境等因素对人口增长的阻滞作用,
人口增长到一定数量后,增长率会下降,假设 人口的增长率为x 的减函数,如设 r(x)=r(1-x/xm) ,
其中 r 为固有增长率 (x 很小时 ) ,xm为人口容量(资源、环境能容纳的最大数量), 于是得到
如下微分方程:
在这里插入图片描述
4、代码及结果
方法一:马尔萨斯 ( Malthus)人口指数增长模型
代码:

t = [1790 1800 1810 1820 1830 1840 1850 1860 1870 1880 1890 1900 1910 1920 1930 1940 1950 1960 1970 1980 1990];
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 92.0 106.5 123.2 131.7 150.7 179.3 204.0 226.5 251.4];
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('实际数据','理论曲线');

在这里插入图片描述
结论:随着时间的增加,人口按指数规律无限增长。可以进行短期的人口预测,较为符合
但是之后误差就很大了。
误差分析:询美国人口统计图表得出2000年为282.162、2010年人口为309.322、2020年人口
为329.484,发现两者有一定区别,因为预测中无法考虑到未来可能发生的各种变化因素。实际上
随着人口数量的增加,自然资源、环境因素, 人口政策,年龄和性别结构、地域特征等因素对人
口数量的阻滞作用越来越明显。
方法二:Logistic模型
通过求解差分方程的方式得到每个时刻的人口增长率,并将其归一化。接着使用线性回归的方法拟合出人口增长率与人口数量之间的关系,并推导出了一个基于人口增长率的指数模型,用于预测未来的人口数量。
代码:

clc
clear
close all
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];%人口
n=length(x);
t=0:1:n-1;
rk=zeros(1,n);
rk(1)=(-3*x(1)+4*x(2)-x(3))/2;
rk(n)=(x(n-2)-4*x(n-1)+3*x(n))/2;
for i=2:n-1
    rk(i)=(x(i+1)-x(i-1))/2;
end
rk=rk./x;
p=polyfit(x,rk,1);
b=p(2);
a=p(1);
r0=b;
xm=-r0/a;
%输出
pnum=zeros(n,1);
for i=0:1:n-1
    pnum(i+1)=xm/(1+(xm/x(1)-1)*exp(-r0*i));
end
year1=[1790 1840 1850 1860 1870 1880 1890 1900 1910 1920 1930 1940 1950 1960 1970 1980 1990 2000 2010 2020 2021];
plot(year1,pnum,'r--o',year1,x,'k-*')
xlabel('年份')
ylabel('人口数量/万人')
legend('预测人口数量','实际人口数量')

figure(2)
fnum=zeros(n+14,1);
for i=0:1:n+13
    fnum(i+1)=xm/(1+(xm/x(1)-1)*exp(-r0*i));
end
year2=[1790 1840 1850 1860 1870 1880 1890 1900 1910 1920 1930 1940 1950 1960 1970 1980 1990 2000 2010 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035];
plot(year2,fnum,'r--o')
xlabel('年份')
ylabel('人口数量/万人')
legend('预测人口数量')

在这里插入图片描述
结论:当t=2000 时人口为295.769、t=2010时人口为315.909、t=2020时人口为333.962。
误差分析:查询美国人口统计图表得出2000年为282.162、2010年人口为309.322、2020年人口
为329.484,发现两者几乎一致,Logistic模型的缺点是模型中的参数r和人口总数上限xm很难准确得
到,尤其是xm的值还会随着人口发展变化的情况而改变。实际上随着人口数量的增加,自然资源、环境因素, 人口政策,
年龄和性别结构、地域特征等因素对人口 数量的阻滞作用越来越明显,增长率不应取为常数。
方法三:多项式拟合
在代码中,使用了polyfit函数拟合5阶多项式,将拟合结果和原始数据一起绘制出来。另外,该
代码还用polyval函数计算了未来几十年的人口预测数量,并在另一个图表中绘制出来。
代码:

Close;
clc;
clear all           %清除所有
n=5;%拟合多项式的次数
year=[1790 1800 1810 1820 1830 1840 1850 1860 1870 1880 1890 1900 1910 
1920 1930 1940 1950 1960 1970 1980 1990];
num=[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];%户籍人口; 
p5= polyfit(year,num,n);       %5阶拟合 
%绘制原始数据和拟合曲线图
figure(1)
hold on;
xlabel('year');     %设置横坐标名
ylabel('num');      %设置纵坐标名
title('1790-1990人口增长曲线');   %设置标题
grid on      %网格线
plot(year,num,'r*',year,polyval(p5,year)) 
legend('人口数量','拟合曲线')
figure(2)
year1=[1790 1800 1810 1820 1830 1840 1850 1860 1870 1880 1890 1900 1910 
1920 1930 1940 1950 1960 1970 1980 1990 2000 2010 2020 2030]
plot(year1,polyval(p5,year1)) 
people=polyval(p5,year1);
legend('人口预测数量')

在这里插入图片描述
结论:当t=2000 时人口为286.151、t=2010时人口为323.925、t=2020时人口为369.047。
误差分析:查询美国人口统计图表得出2000年为282.162、2010年人口为309.322、2020年人口
为329.484发现两者有一些差别,而且预测的时间越长,误差会逐渐增大,因为预测中无法考虑到
未来可能发生的各种变化因素。实际上随着人口数量的增加,自然资源、环境因素, 人口政策,
年龄和性别结构、地域特征等因素对人口数量的阻滞作用越来越明显,增长率不应取为常数。
四、总结及体会
通过这个数学建模的实例,我们可以体会到数学建模的重要性和难度。
在实际问题中,我们需要根据已知数据、假设和条件,将其量化为数学模型。经过推导和求解,得出模型所能提
供的结果。这个过程需要严谨的数学思维和运用一定的数学工具。
同时,在实际问题中,还需要考虑到数据的准确性、假设的合理性和模型的可靠性等因素。这些因素都会影响到
最终的模型结果和应用效果。因此,需要在建立模型的过程中,注重数据的采集、分析和处理,以及对假设和模
型的合理性进行判断和修正。
此外,我们还需要在建模的过程中,注重交流和合作。不同领域的专家拥有不同的知识背景和专业技能,他
们的合作和交流可以使得模型更加完善和全面。
总之,数学建模不仅是数学的一个应用领域,同时也涉及到多个学科,需要全面的知识储备和跨学科的合作
在实际问题中,需要注重思维方式、数据准确性和交流合作等因素,以期获得可信、可靠的模型结果。

  • 9
    点赞
  • 96
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
马尔萨斯人口模型是由经济学家马尔萨斯提出的一种人口增长理论。该模型认为,人口增长受到生物增长力和资源供给的制约。具体来说,人口增长率与人口规模成正比,而与资源供给成反比。马尔萨斯人口模型的参数估计主要包括生物增长力和资源供给率。 生物增长力是指人口自然增长的能力,通常用出生率和死亡率来衡量。出生率表示每年单位时间内每一千人的平均出生人数,死亡率表示每年单位时间内每一千人的平均死亡人数。为了估计生物增长力,我们可以通过统计数据获取每年的出生人数和死亡人数,然后计算出生率和死亡率。例如,一国每年出生人数为10万人,总人口为1亿人,则该国的出生率为0.1%。类似地,我们可以计算出死亡率。 资源供给率是指每个人平均可以获得的资源量。马尔萨斯人口模型假设资源供给是有限的,因此资源供给率对人口增长起到制约作用。估计资源供给率可以通过统计数据获得。例如,一国每年生产粮食10万吨,总人口为1亿人,则每个人平均可以获得0.1公斤的粮食,这就是该国的资源供给率。 总的来说,马尔萨斯人口模型的参数估计需要基于统计数据,包括出生率、死亡率和资源供给量等。利用这些数据,我们可以得出生物增长力和资源供给率的估计值。这些参数的估计结果可以用于研究人口增长和资源分配等问题,为制定人口政策和可持续发展战略提供参考。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Unicornlyy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值