人口指数模型(完整资料).doc
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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
精品文档,下载后可编辑