人口指数模型(完整资料).doc

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

指数函数的数据拟合

世界人口预测问题

下表给出了本世纪六十年代世界人口的统计数据(单位:亿)

有人根据表中数据,预测公元2000年世界人口会超过60亿。这一结论在六十年代末令人难以置信,但现在已成为事实。试建立数学模型并根据表中数据推算出2000年世界人口的数量。

根据马尔萨斯人口理论,人口数量按指数递增的规律发展

人口问题是当今世界各国普遍关注的问题,认识人口数量的变化规律,可以为有效控制人口增长提供依据。早在1798年,英国经济学家马尔萨(T.R.Malthus,1766-1834)就提出了自然状态下的人口增长模型:

精品文档,下载后可编辑

精品文档,下载后可编辑

rt

e

y y 0=

其中t 表示经过的时间, 0y 表示t =0时的人口数,r 表示人口的年平均增长率。

表3是1950~1959年我国的人口数据资料:

(1)如果以各年人口增长平均值作为我国这一时期的人口增长率(精确到0.0001),用马尔萨斯人口增长模型建立我国在这一时期具体人口增长模型,并检验所得模型与实际人口数据是否相符;

解:设1951~1959年的人口增长率分别为

于是, 1951~1959年期间,我国人口的年均增长率为

129r ,r ,......,r .155196(1)56300,1951,

r +=≈≈≈≈≈≈≈≈≈1

2

34

5

678

9

可得年的人口增长率r 0.0200.同理可得r 0.0210,r 0.0229,r 0.0250,r 0.0197,r 0.0223,r 0.0276,r 0.0222,r 0.0184.

55196,1950~1959y =令则我国在年期间的人口增长模型为

精品文档,下载后可编辑

由图4可以看出,所得模型与1950~1959年的实际人口数据基本吻合。

(2)如果按表3的增长趋势,大约在哪一年我国的人口达到13亿? 将y=130000代入

由计算可得3976.38≈≈t

所以,如果按表3的增长趋势,那么大约在1950年后的第39年(即1989年)我国的人口就已达到13亿.由此可以看到,如果不实行计划生育,而是让人口自然增长,今天我国将面临难以承受的人口压力.

0.022155196..

t y e t N =∈129(...)90.0221

r r r r =+++÷≈根据表格3中的数据作出散点图,并作出函数

图4

0.022155196..

t y e t N =∈

function y=ys1(a,t)

y=55196*exp(a*t);

t=[0:9];

y=[55196 56300 57482 58796 60266 61456 62828 64563 65994 67207]; a0=[1];

[a,res]=lsqcurvefit('ys1',a0,t,y)

t1=[0:0.1:9];

y1=55196*exp(0.0220*t1);

plot(t1,y1,t,y,'*')

精品文档,下载后可编辑

例1已知1790—1990年间美国每隔十年的人口记录如下:(人口单位:106)

用以上数据检验Malthus人口(指数)增长模型

方法一

(1)编写函数M文件fit1(图1)

function y=fit1(a,t)

y=3.9*exp(a*(t-1790));

rt

e

y

y

(2)输入并运行如下命令

t=1790:10:1990;

y=[3.9,5.3,7.2,9.6,12.9,17.1,23.2,31.4,38.6,5 0.2,62.9,76,92,106.5,123.2,131.7,150.7,179. 3, 204, 226.5,251.4];

精品文档,下载后可编辑

a0=0.1; [a,res]= lsqcurvefit('fit1',a0,t,y) a = 0.0217 res = 1.2724e+004

(或t=1790:10:1990;

y=[3.9,5.3,7.2,9.6,12.9,17.1,23.2,31.4,38.6,50.2, 62.9,76,92,106.5,123.2,131.7,150.7,179.3, 204, 226.5,251.4];

f=inline('3.9*exp(a*(t-1790))','a','t');

[a,res]=lsqcurvefit(f,0.1 ,t,y)

人口增长模型的图形显示

ti=1790:1990; yi=3.9*exp(a*(ti-1790)); plot(t,y,'o',ti,yi)

精品文档,下载后可编辑

精品文档,下载后可编辑

(图1)

方法二

(1)编写函数M 文件fit1(图2)

rt

e

y y 0

function y=fit1(a,t)

y=a(1)*exp(a(2)*(t-1790));

(2)输入并运行如下命令

t=1790:10:1990;

y=[3.9,5.3,7.2,9.6,12.9,17.1,23.2,31.4,38.6,5

0.2,62.9,76,92,106.5,123.2,131.7,150.7,179. 3, 204, 226.5,251.4];

a0=[0,0]; [a,res]= lsqcurvefit('fit1',a0,t,y) a =13.8695 0.0148

rt

y

e

y

res =1.8257e+003

人口增长模型的图形显示

ti=1790:1990; yi=a(1)*exp(a(2)*(ti-1790));

plot(t,y,'o',ti,yi)

gtext('人口指数函数') %注释

(或t=1790:10:1990;

y=[3.9,5.3,7.2,9.6,12.9,17.1,23.2,31.4,38.6,50.2,62.9,76,92,106.5,123.2,131.7,150.7 ,179.3, 204, 226.5,251.4];

[c,d]=solve('c*exp(d*10)=5.3','c*exp(d*20)=7.2','c','d')

f=inline('a(1)*exp(a(2)*(t-1790))','a','t');

[a,res]=lsqcurvefit(f,[3.9,0.03],t,y))

a=

13.8692 0.0148

res =

1.8257e+003

精品文档,下载后可编辑

相关文档
最新文档