- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
郑悦 数学建模2
成绩 辽宁工程技术大学上机实验报告
实验名称 实验二 离散数据拟合模型 院系 理学院 专业 信科 班级 11-1 姓名 郑悦 学号 1111010127 日期 5.26 实验
目的 简述本次实验目的:
掌握离散数据拟合模型的建模方法,并会利用Matlab作数据拟合、数值计算与误差分析.
实验
准备 你为本次实验做了哪些准备:
阅读书籍,查阅资料,编写matlab程序。 实验
进度 本次共有 1 个练习,完成 1 个。 实验
总结
日 本次实验的收获、体会、经验、问题和教训:
通过这次试验,知道了如何利用matlab工具箱里面的函数来运用于数学建模。同时也复习了matlab的一些函数。 教师
评语
如果用指数增长模型?模拟美国人口1790年至2000年的变化过程,请用Matlab统计工具箱的函数nlinfit计算指数增长模型的以下三个数据拟合问题:
取定x0=3.9, t0=1790,拟合待定参数r;
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
取定t0=1790,拟合待定参数x0和r;
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(拟合数据)
调试结果:
r=0.0142 14.9940
sse=2.2639e+003
拟合待定参数t0, x0和r.要求写出程序,给出拟合参数和误差平方和的计算结果,并展示误差平方和最小的拟合效果图.
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(拟合误差)
调试结果:
r=0.0142 7.3264 50.3522
sse=2.2639r+003
a=1.8404e+003
通过变量替换,可以将属于非线性模型的指数增长模型转化成线性模型,并用Matlab函数poly
文档评论(0)