- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2010年美国口预测报告
2010年美国人口预测报告
实验目的:
掌握利用MATLAB软件解决拟合问题的方法
学会用拟合方法解决实际问题
实验内容:
给出美国人口从1790年到1990年间的人口如表1(每10年为一个间隔),请估计出美国2010年的人口。
表1 美国人口统计数据
年 份 1790 1800 1810 1820 1830 1840 1850 人口(×106) 3.9 5.3 7.2 9.6 12.9 17.1 23.2 年 份 1860 1870 1880 1890 1900 1910 1920 人口(×106) 31.4 38.6 50.2 62.9 76.0 92.0 106.5 年 份 1930 1940 1950 1960 1970 1980 人口(×106) 123.2 131.7 150.7 179.3 204.0 226.5
实验分析:
首先在平面上绘出已知数据的分布图,通过直观观察,猜测人口随时间的变化规律,再用函数拟合的方法确定其中的未知参数,从而估计出2010年的美国人口。利用MATLAB软件作出美国人口统计数据的连线图如图1。
图1 美国人口统计数据连线图 图2 建模方法1的拟合效果图
建模方法1:
由图1可以发现美国人口的变化规律曲线近似为一条指数函数曲线,因此我们假设美国的人口满足函数关系x=f(t), f(t)=ea+bt,a,b为待定常数,根据最小二乘拟合的原理,a,b是函数的最小值点。其中xi是ti时刻美国的人口数。利用MATLAB软件中的曲线拟合程序“curvefit”,编制的程序如下:
指数函数的函数M——文件
function f=fun1(a,t)
f=exp(a(1)*x+a(2));
用最小二乘拟合求上述函数中待定常数,以及检验拟合效果的图形绘制程序
t=1790:10:1990;
x=[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];
plot(t,x,*,t,x);
a0=[0.001,1];
a=lsqcurvefit(fun1,a0,t,x)
ti=1790:5:2020;
xi=fun1(a,ti);
hold on
plot(ti,xi);
t1=2010;
x1=fun1(a,t1)
hold off
在MATLAB命令窗口运行该程序,输出结果a = 0.0148 -23.8311;x1 =358.4822
因此,参数a=0.0148, b=-23.8307,拟合函数在2010处的函数值f(2010)=358.4822。但在求解时,出现提示“矩阵接近奇异或尺度不好,结果可能不准确”。通过作图,我们来看看拟合的误差如何,见图2。从图中可看出,拟合曲线与原数据还是比较吻合,因此,预测美国在2010年的人口数为358.4822百万。
建模方法2:
上述模型对过去的统计数据吻合得较好,但也存在问题,即人口是呈指数规律无止境地增长,此时人口的自然增长率随人口的增长而增长,这不可能。一般说来,当人口较少时增长得越来越快,即增长率在变大;人口增长到一定数量以后,增长就会慢下来,即增长率变小这是因为,自然资源、环境条件等因素不允许人口无限制地增长,它们对人口的增长起着阻滞作用,而且随着人口的增加,阻滞作用越来越大。而且人口最终会饱和,趋于某一个常数x(,我们假设人口的静增长率为r(1-x(t)/x(),即人口的静增长率随着人口的增长而不断减小,当t((时,静增长率趋于零。
按照这个假设,得到
(1)
这便是荷兰数学家Verhulst于19世纪中叶提出的阻滞增长模型(logistic模型)。
在MATLAB命令窗口键入
dsolve(‘Dx=r*x*(1-x/c)’,’x(1790)=3.9’)
输出:
ans=
c/(1+1/39*exp(-r*t)*exp(1790*r)*(10*c-39))
其中c=x(。
因此,人口的变化规律为:
(2)
利用MATLAB软件中的“curvefit”命令和函数(2) 来拟合所给的人口统计数据,从而确定出(2)中的待定参数r和x(。编制的MATLAB程序如下:
定义函数(2)的函数M——文件
function f=fun3(a,t)
f=a(1)./(1+(a(1)/3.9-1)*exp(-(t-1790)*a(2)));
用该函数来对所给的美国人口数据作最小二乘拟合,并作出图形观察
文档评论(0)