《美国人口增长模型(共8页).docx》由会员分享,可在线阅读,更多相关《美国人口增长模型(共8页).docx(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上4.1 美国人口增长问题研究4.1.1 问题重述认识人口数量的变化过程,建立数学模型描述人口发展规律,做出较为准确的增长预测,是制定积极、稳妥的人口政策的前提。请使用下表的美国人口统计数据进行参数估计,并作模型检验和增长预测。年份17901800181018201830184018501860人口/百万3.95.37.29.612.917.123.231.4增长率/10年0.29490.31130.29860.29690.29070.31020.30820.2452年份18701880189019001910192019301940人口/百万38.650.262.97
2、692105.7122.8131.7增长率/10年0.24350.2420.20510.19140.16140.14570.10590.1059年份1950196019701980199020002010人口/百万150.7179.3203.2226.5248.7281.4308.7增长率/10年0.15790.14640.11610.10040.11040.13494.1.2 符号规定与基本假设1. 符号规定1. 表示人口增长率2. 表示人口数量3. 表示人口容量2. 基本假设1) 假设人口增长符合生长规律;2) 不考虑战争等非射幸因素;3) 不考虑突发事故所引起的人口数量变化;4.1.3
3、模型分析与建立考察一个国家或者地区的人口数量随着时间延续而发生变化的规律时,可以将人口看作连续时间的延续可微函数。记初始时刻的人口为。假设单位时间人口增长率为常数,即可得到满足人口增长的微分方程和初始条件为: (1.1)易得: (1.2)若,人口将按指数规律无限增长。根据已知数据对模型的参数进行估计又称为数据拟合。对式中的参数进行估计主要有以下两种方法。方法一:直接使用人口数据和线性最小二乘法,对 式取对数可得: (1.3)由本题所给表格,通过MATLAB软件可计算得出,年,。方法二:先对人口数据进行数值微分,再计算增长率并将其平均值作为的估计;直接取原始数据。数值微分的中点公式如下:假设函数
4、在分点(等间距)的离散值为,那么函数在各个分点的导数近似值为 (1.4) (1.5)根据式可以计算出美国人口1790年至2000年的增长率,为0.2052年/10年,令人口数量初值,即可预测算出人口数量。方法三:将指数增长模型进行改进,原先的模型式改写为 (1.6)易得 (1.7)根据美国人口增长率数据可得,令人口数量初值取3.90即,拟合结果如图 4.1所示。Logistic方法一:(非常重要的预测方法,需要重点掌握!)随着人口数量的增长,资源和环境对其增长起到了阻滞作用。即增长率随着人口数量的增加而下降,用。为了赋予增长函数中系数的实际意义,引入以下两个参数。1) 内廪增长率 表示的增长率
5、,即,则;2) 人口容量 表示资源和环境所能容纳的最大人口数量,当即表示人口不在增长,即,得。增长率函数,可得 (1.8)式中,右端体现人口自身增长趋势,而体现了资源和环境对人口增长的阻滞作用。人口增长是两者同时作用的结果。以下是对Logistic模型的参数估计。将式改写为 (1.9)式左端作数值微分之后计算增长率,右端使用线性最小二乘法进行参数估计。可以计算出结果为,由式可以计算出最终预测结果。4.1.4模型的求解编写如下代码:clc,clear%1790-2010美国人口数据P=3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76 92
6、 105.7. 122.8 131.7 150.7 179.3 203.2 226.5 248.7 281.4 308.7;n=length(P)-1;%选取1790-2000美国人口数据及相应的时间节点,总计n个t=0:n-1;P1=P(1:n);% 指数增长模型的参数估计%方法一,线性最小二乘方法-% A=ones(n,1) t;% b=log(P1);% F=inv(A*A)*(A*b);% x0=exp(F(1);%初始人口(t=0)% r=F(2);%增长率/10年% %1790-2000美国人口估计% x=zeros(n,1);% x(1)=x0;% for i=1:n% t1=i
7、-1;% x(i)=x(1)*exp(r*t1);% end% figure% plot(1:n,P1,r.);% hold on% plot(1:n,x,k-.);% grid on% xlabel(t)% ylabel(x)% legend(实际人口,模拟结果)%-% % %方法二,数值微分方法-% rk=zeros(n,1);%每十年的相对增长率% rk(1)=(-3*P1(1)+4*P1(2)-P1(3)/2;%1790年增长率% rk(n)=(P1(n-2)-4*P1(n-1)+3*P1(n)/2;%2000年增长率% for i=2:n-1% rk(i)=(P1(i+1)-P1(i
8、-1)/2;% end% rk=rk./P1;%每十年的相对增长率% r=sum(rk)/n;%每十年的平均相对增长率% %1790-2000美国人口估计% x=zeros(n,1);% x(1)=P1(1);%初值% for i=1:n% t1=i-1;% x(i)=x(1)*exp(r*t1);% end% figure% plot(1:n,P1,r.);% hold on% plot(1:n,x,k-.);% grid on% xlabel(t)% ylabel(x)% legend(实际人口,模拟结果)% -%Logistic增长模型的参数估计% %方法一,数值微分方法+线性最小二乘估
9、计-rk=zeros(n,1);%每十年的相对增长率rk(1)=(-3*P1(1)+4*P1(2)-P1(3)/2;%1790年增长率rk(n)=(P1(n-2)-4*P1(n-1)+3*P1(n)/2;%2000年增长率for i=2:n-1 rk(i)=(P1(i+1)-P1(i-1)/2;endrk=rk./P1;%每十年的相对增长率A=ones(n,1) -P1;b=rk;F=inv(A*A)*(A*b);r=F(1);%增长率/10年xm=r/F(2);%人口总量% %1790-2000美国人口估计x=zeros(n,1);x(1)=P1(1);for i=1:n t1=i-1; x
10、(i)=xm/(1+(xm/P1(1)-1)*exp(-r*t1);endfigureplot(1:n,P1,r.);hold onplot(1:n,x,k-.);grid onxlabel(t)ylabel(x)legend(实际人口,模拟结果)表4.1 指数模型三种方法运算出的结果实际人口方法一方法二方法三3.90 6.05 3.90 3.90 5.30 7.40 4.79 5.14 7.20 9.06 5.88 6.78 9.60 11.09 7.22 8.92 12.90 13.57 8.86 11.71 17.10 16.61 10.88 15.34 23.20 20.33 13.3
11、6 20.02 31.40 24.88 16.40 26.03 38.60 30.45 20.14 33.65 50.20 37.27 24.72 43.21 62.90 45.61 30.35 55.01 76.00 55.82 37.26 69.32 92.00 68.31 45.75 86.27 105.70 83.61 56.17 105.81 122.80 102.32 68.96 127.65 131.70 125.23 84.67 151.23 150.70 153.26 103.95 175.75 179.30 187.57 127.63 200.29 203.20 229.56 156.70 223.90 226.50 280.95 192.39 245.79 248.70 343.85 236.20 265.38 281.40 420.82 290.00 282.39 4.1.5 结果分析图4.1 方法一拟合出图像图4.2 方法二拟合出图像图4.3 Logistic 方法一拟合出图像专心-专注-专业
限制150内