数学建模作业6

  • 格式:doc
  • 大小:479.99 KB
  • 文档页数:9

佛山科学技术学院

上 机 报 告

课程名称 数学建模

上机项目 人口模型

专业班级

一、 问题提出

人口问题是当前世界上人们最关心的问题之一。认识人口数量的变化规律,作出较准确的预报,是有效控制人口增长的前提。

要求:分别建立并求解两个最基本的人口模型,即:指数增长模型和Logistic模型,并利用表1给出的近两百年的人口统计数据,画出图形拟合数据,对模型做出检验,最后用它预报2000年的人口。

表1 人口统计数据

年(公元)

人口(百万) 1790

3.9 1800

5.3 1810

7.2 1820

9.6 1830

12.9 1840

17.1 1850

23.2

年(公元)

人口(百万) 1860

31.4 1870

38.6 1880

50.2 1890

62.9 1900

76.0 1910

92.0 1920

106.5

年(公元)

人口(百万) 1930

123.2 1940

131.7 1950

150.7 1960

179.3 1970

204.0 1980

226.5 1990

251.4

二、问题分析

人口的变化受到众多方面因素的影响。人口数量对人类的发展影响也是与日俱增。所以对人口数量的控制和预测也显得尤为重要。就此我们需要找到更好更精确的人口增长模型来预测人口数量。就此,根据题目所给的信息,就美国从1790年至2000年的人口增长入手,用指数增长模型的检验人口增长是否相符,预测人口增长。并改进成阻滞增长模型,并用它预测人口增长。

1.先用指数增长模型检验人口增长是否相符。由于经历的时间比较长,所以我们分为长期和短期分别检验。就会发现规律,短期的符合该模型,而长期而言后半期明显计算的增加的比较快。根据这个问题我们找原因。由于资源、环境问题使阻滞增长人口模型人口增加到一定数量时,增长率会减慢。据此改进我们就得到了第二个模型。

2.得到第二个模型后先找规律,找关键点。及增长率随时间的变化以及人口容量值。分析人口随时间变化率与人口容量的关系。然后得出人口与时间的关系。最后检验计算值与实际值是否相符,很明显相符的。所以我们就可以用之预测人口数量了。

3.分析两模型的优缺点,适用范围,以便我们更广泛明了的使用。

模型一:指数增长(Malthus)模型:

三、模型假设:

1.时刻t人口增长的速率与当时人口数成正比,增长率为常数r。

2.以x(t)表示时刻t某地区(或国家)的人口数,设人口数x(t)足够大,可以视做连续函数处理,且x(t)关于t连续可微。

符号说明

t表示某一时刻;

x(t) 表示时刻t某地区(或国家)的人口数;

r表示人口增长率为常数。

四、模型建立:

今年人口 x0, 年增长率 r,k年后人口

指数增长模型——马尔萨斯提出 (1798)

基本假设 : 人口(相对)增长率 r 是常数

x(t) ~时刻t的人口

0,(0)dxrxxxdt (1)

220()()rtxtxeab0(1)txr

随着时间增加,人口按指数规律无限增长

五、模型求解

(显示模型的求解方法、步骤及运算程序、结果)

解微分方程(1)得 (2)

表明:t时,tx(r>0)

模型的参数估计:

要用模型的结果(2)来预报人口,必须对其中的参数r进行估计,这可以用表1-1的数据通过拟合得到.拟合的具体方法见本书第16章或第18章.

通过表中1790—1980的数据拟合得:r =0.307.

模型检验:

将x0=3.9,r=0.307 代入公式(2),求出用指数增长模型预测的1810—1920的人口数,见下图: kkrxx)1(0

()()()xttxtrtxtrtextx0)( 程序代码:

M文件:

function x=renkou1(beta,t)

x=3.9*exp(beta.*t);

t=0:1:20;

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];

beta0=0.1;

[beta,r,J]=nlinfit(t',x','renkou1',beta0);

beta

y=renkou1(beta,t)

[YY,delta]=nlpredci('renkou1',t',beta,r,J);

plot(t,x,'b*',t,YY,'r')

error=abs(y-x)

画图:

(根据拟合出的数据和原来数据填写表格)

表2 实际人口与按指数增长模型计算的人口比较

(公元) 实际人口

(百万) 指数增长模型

计算出人口(百万) 误差

1790 3.9 3.9000 0

1800 5.3 4.8444 0.4556

1810 7.2 6.0176 1.1824

1820 9.6 7.4748 2.1252

1830 12.9 9.2849 3.6151

1840 17.1 11.5334 5.5666

1850 23.2 14.3264 8.8736

1860 31.4 17.7957 13.6043

1870 38.6 22.1051 16.4949 1880 50.2 27.4582 22.7418

1890 62.9 34.1075 28.7925

1900 76.0 42.3671 33.6329

1910 92.0 52.6268 39.3732

1920 106.5 65.3711 41.1289

1930 123.2 81.2016 41.9984

1940 131.7 100.8656 30.8344

1950 150.7 125.2915 25.4085

1960 179.3 155.6324 23.6676

1970 204.0 193.3208 10.6792

1980 226.5 240.1359 13.6359

1990 251.4 298.2879 46.8879

(分析原因,该模型的结果说明人口将以指数规律无限增长。而事实上,随着人口的增加,自然资源、环境条件等因素对人口增长的限制作用越来越显著。下需要对该模型进行改进,即阻滞增长模型。)

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

模型假设:

(a)人口增长率r为人口tx的函数xr(减函数),最简单假定0, ,srsxrxr(线性函数),r叫做固有增长率.

(b)自然资源和环境条件年容纳的最大人口容量mx.

符号说明:

r表示人口增长率,

x(t)表示增长率为r时人口数量

mx表示自然资源和环境条件年容纳的最大人口容量mx

模型建立:

当mxx 时,增长率应为0,即mrx=0,于是mrsx,代入sxrxr得:

m1xrxrx (3)

将(3)式代入(1)得: 模型:

m010dxxrxdtxxx (4)

模型求解:

解方程组(4)得 mm011rtxxtxex (5)

根据方程(4)作出ddxxt 曲线图,见图1,由该图可看出人口增长率随人口数的变化规律.根据结果(5)作出x-t曲线,见图2,由该图可看出人口数随时间的变化规律.

模型的参数估计:

利用表1中1790—1980的数据对r和mx拟合得:r=0.2072, mx=464.

模型检验:

将r=0.2072, mx=464代入公式(5),求出用指数增长模型预测的1800—1990的人口数,

也可将方程(4)离散化,得

)())(1()()()1(txxtxrtxxtxtxm t=0,1,2,…, (6)

用公式(6)预测1800—1990的人口数

程序代码: O x mx 2mx 错误!未找到引图1dxxdt 曲线图 x

mx

20x

0x

t O

图2 x-t曲线图 M文件:

function f=renkou2(beta,t)

f=beta(1)./(1+((beta(1)/3.9)-1)*exp(-beta(2)*t))

t=0:1:20;

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];

beta0=[10,0.1];

beta=lsqcurvefit('renkou2',beta0,t,x);

f=renkou2(beta,t)

plot(t,x,'r*',t,f)

error=abs(f-x)

画图: