- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验2 离散数据拟合模型
实验2 离散数据拟合模型
一、实验名称:离散数据拟合模型.
二、实验目的:掌握离散数据拟合模型的建模方法,并会利用Matlab作数据拟合、数值计算与误差分析.
三、实验题目:已知美国人口统计数据如表,完成下列数据的拟合问题:
(单位:百万)
年份 1790 1800 1810 1820 1830 1840 1850 1860 1870 1880 1890 人口/ 3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 年份 1900 1910 1920 1930 1940 1950 1960 1970 1980 1990 2000 人口/ 76.0 92.0 106.5 123.2 131.7 150.7 179.3 204.0 226.5 251.4 281.4 四、实验要求:
1、如果用指数增长模型模拟美国人口1790年至2000年的变化过程,请用Matlab统计工具箱的函数nlinfit计算指数增长模型的以下三个数据拟合问题:
(1)取定x0=3.9, t0=1790,拟合待定参数r;
源程序:
clear
p=@(r,t)3.9.*exp(r.*(t-1790));
t=1790:10:2000;
c=[3.9,5.3,7.2,9.6,12.9,17.1,23.2,31.4,38.6,50.2,62.9,76.0,92.0,106.5,123.2,131.7,150.7,179.3,204.0,226.5,251.4,281.4];
r=nlinfit(t,c,p,0.0359)
sse=sum((c-p(r,t)).^2)
plot(t,c,r*,1790:1:2000,p(r,1790:1:2000),r)
axis([1790,2000,0,290])
xlabel(年份),ylabel(人口(单位:百万))
title(拟合美国人口数据—指数增长型)
legend(拟合数据)
调试结果:r =0.0212 sse =1.7418e+004
(2)取定t0=1790,拟合待定参数x0和r;
源程序:
clear
p=@(r,t)r(2).*exp(r(1).*(t-1790));
t=1790:10:2000;
c=[3.9,5.3,7.2,9.6,12.9,17.1,23.2,31.4,38.6,50.2,62.9,76.0,92.0,106.5,123.2,131.7,150.7,179.3,204.0,226.5,251.4,281.4];
r0=[0.0359,3.9];
r=nlinfit(t,c,p,r0)
sse=sum((c-p(r,t)).^2)
plot(t,c,r*,1790:1:2000,p(r,1790:1:2000),r)
axis([1790,2000,0,290])
xlabel(年份),ylabel(人口(单位:百万))
title(拟合美国人口数据—指数增长型)
legend(拟合数据)
调试结果:
(3)拟合待定参数t0, x0和r.要求写出程序,给出拟合参数和误差平方和的计算结果,并展示误差平方和最小的拟合效果图.
源程序:
clear
p=@(r,t)r(2).*exp(r(1).*(t-1790+1.*r(3)));
t=1790:10:2000;
c=[3.9,5.3,7.2,9.6,12.9,17.1,23.2,31.4,38.6,50.2,62.9,76.0,92.0,106.5,123.2,131.7,150.7,179.3,204.0,226.5,251.4,281.4];
r0=[0.0359,3.9,1];
[r,x]=nlinfit(t,c,p,r0)
sse=sum((c-p(r,t)).^2)
a=1790+1.*r(3)
subplot(2,1,1)
plot(t,c,r*,1790:1:2000,p(r,1790:1:2000),r)
axis([1790,2000,0,290])
xlabel(年份),ylabel(人口(单位:百万))
title(拟合美国人口数据—指数增长型)
legend(拟合数据)
subplot(2,1,2)
plot(t,x,k+,[1790,2000],[0,0],k)
axis([1790,2000,-20,20])
xlabel(年份),ylabel(误差)
title(拟合误差)
调试结果:
2、通过变量替换,可以将属于非线性模型的指数增长模型转化成线性模型,并用Matlab函数polyfit进行计算,请说明转化成线性模型的详细过程,然后写出程序,给出拟合参数和误差平方和的计算结果,并展示拟合效果图.
解题思路:
将属于非线性
文档评论(0)