人口指数模型

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

指数函数的数据拟合

世界人口预测问题

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

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

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

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

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

1word版本可编辑.欢迎下载支持.

2word 版本可编辑.欢迎下载支持.

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

年份

1950 1951 1952 1953 1954 1955 1956 1957 1958 1959

人数/万人 55196 56300 57482 58796 60266 61456 62828 64563 65994 67207

t

0 1 2 3 4 5 6 7 8 9

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

解:设1951~1959

年的人口增长率分别为

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

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

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

由计算可得3976.38≈≈t

根据表格

3中的数据作出散点图,并作出函数 图4

129r ,r ,......,r .1

55196(1)56300,1951,r +=≈≈≈≈≈≈≈≈≈1234567

89可得年的人口增长率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.

0.022155196..

t y e t N =∈

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

3word版本可编辑.欢迎下载支持.

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)

4word版本可编辑.欢迎下载支持.

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)

方法二

5word版本可编辑.欢迎下载支持.

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

rt

e

y

y

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

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

6word版本可编辑.欢迎下载支持.

相关文档
最新文档