人口指数模型(共10页).doc
精选优质文档-倾情为你奉上指数函数的数据拟合世界人口预测问题 下表给出了本世纪六十年代世界人口的统计数据(单位:亿)年196019611962196319641965196619671968人口29.7230.6131.5132.1332.3432.8533.5634.2034.83有人根据表中数据,预测公元2000年世界人口会超过 60亿。这一结论在六十年代末令人难以置信,但现在已成为事实。试建立数学模型并根据表中数据推算出2000年世界人口的数量。根据马尔萨斯人口理论,人口数量按指数递增的规律发展人口问题是当今世界各国普遍关注的问题,认识人口数量的变化规律,可以为有效控制人口增长提供依据。早在1798年,英国经济学家马尔萨(T.R.Malthus,1766-1834)就提出了自然状态下的人口增长模型: 其中t表示经过的时间, 表示t0时的人口数,r表示人口的年平均增长率。表3是19501959年我国的人口数据资料:年份1950195119521953195419551956195719581959人数万人55196563005748258796602666145662828645636599467207t0123456789(1)如果以各年人口增长平均值作为我国这一时期的人口增长率(精确到0.0001),用马尔萨斯人口增长模型建立我国在这一时期具体人口增长模型,并检验所得模型与实际人口数据是否相符;解:设19511959年的人口增长率分别为于是, 19511959年期间,我国人口的年均增长率为由图4可以看出,所得模型与19501959年的实际人口数据基本吻合。根据表格3中的数据作出散点图,并作出函数 的图象(图4).图4(2)如果按表3的增长趋势,大约在哪一年我国的人口达到13亿?将y=代入由计算可得所以,如果按表3的增长趋势,那么大约在1950年后的第39年(即1989年)我国的人口就已达到13亿.由此可以看到,如果不实行计划生育,而是让人口自然增长,今天我国将面临难以承受的人口压力.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 已知17901990年间美国每隔十年的人口记录如下:(人口单位:106)年1790 1800 1810 1820183018401850人口3.95.37.29.612.917.223.2年1860187018801890190019101920人口31.438.650.262.97692106.5年1930194019501960197019801990人口123.2131.7150.7179.3204226.5251.4用以上数据检验Malthus人口(指数)增长模型方法一(1)编写函数M文件fit1(图1) function y=fit1(a,t) y=3.9*exp(a*(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,50.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) 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,50.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.0148res =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.0148res = 1.8257e+003 (图2) (图1) (图2)专心-专注-专业