离散数据拟合模型_第1页
离散数据拟合模型_第2页
离散数据拟合模型_第3页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、工程技术大学上机实验报告成绩实验名称实验2离散数据拟合模型院系理学院专业班级11-1学号日期05.20实验 目的简述本次实验目的:掌握离散数据拟合模型的建模方法,并会利用Matlab作数据拟合、数值计算与误差分析实验 准备你为本次实验做了哪些准备:上网查阅相关资料,阅读教材数学建模实验 进度本次共有 4个练习,完成4个。实验 总结 日本次实验的收获、体会、经验、问题和教训:实验题目:已知美国人口统计数据如表,完成下列数据的拟合问题:年份1790180018101820183018401850I860人口 / 百万人3.95.37.29.612.917.123.231.4年份1900191019

2、2019301940195019601970人口 / 百万人 76.092.0106.123.2131.7150.179.3204.570实验要求:1、如果用指数增长模型x(t)X°e( 0)模拟美国人口1790年至2000年的变化过程,请用 Matlab统计工具箱的函数nlinfit计算指数增长模型的以下一个数据拟合问题:(1)取定X0=3.9,10=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,2

3、3.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=n li nfit(t,c,p,0.0359);>> sse=sum(c-p(r,t).A2);|>> plot(t,c,'b*',1790:1:2000,p(r,1790:1:2000),'b')>> axis(1790,2000,0,290)>> xlabel(' 年份'),ylabel('人

4、口(单位:百万)')>> title('拟合美国人口数据-指数增长型')>> legend('拟合数据')程序调用:>> r r = 0.0212>> sse sse = 1.7418e+004(2)取定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

5、.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=n li nfit(t,c,p,r0);>> sse=sum(c-p(r,t).A2);>> plot(t,c,'b*',1790:1:2000,p(r,1790:1:2000),'b')>> axis(1790,2000,0,290)>> xlabel(' 年份'),ylabel(' 人口(单位:百万

6、)')>> title(' 拟合美国人口数据-指数增长型')>> legend('拟合数据')程序调用:>> r r =0.0142 14.9940>> sse sse = 2.2639e+003(3)拟合待定参数t。,Xo和r.要求写出程序,给出拟合参数和误差平方和 的计算结果,并展示误差平方和最小的拟合效果图程序代码:>> p=(r,t)r(2).*exp(r.*(t-1790+1.*r(3);>> t=1790:10:2000;>> c=3.9,5.3,7.2,9.

7、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=nli nfit(t,c,p,r0);>> sse=sum(c-p(r,t).A2);>> a=1790+1.*r;>> subplot(2,1,1)>> plot(t,c,'b*',1790:1:2000,p(r,1790:1:2000),'b&#

8、39;)>> 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(' 年份&

9、#39;),ylabel(' 人口(单位:百万)')>> title(' 拟合误差')程序调用:>> r r = 0.01427.3264 50.3522>> x x =Colu mns1through5-11.0940-11.9857-12.7277-13.373513.5848Colu mns6through10-13.4328-11.9995-9.1795-8.18183.7321Colu mns11through150.72484.32189.366411.236413.3761Columns 16 through 2

10、05.09034.739011.029910.01112.8613Columns 21 through 22-6.4202 -15.8260>> sse sse = 2.2639e+003>> a a = 1.8404e+003:人土卫人匚数詳-柑襄増也却2、通过变量替换,可以将属于非线性模型的指数增长模型转化成线性模型,并用Matlab函数polyfit进行计算,请说明转化成线性模型的详细过程,然后写出程序,给出拟合参数和误差平方和的计算结果,并展示拟合效果图.非线性模型的指数增长模型转化成线性模型程序代码:>> t=1790:10:2000;>&g

11、t;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;>> p,s=polyfit(t-1790,log(c),1)>>b1=p(1)>>b2=exp(p(2) >>subplot(2,1,1)>>plot(t,c,'r*',t,exp(polyval(p,t-1790),'r') >>axis(1790,2

12、000,0,290)>>xlabel(' 年份'),ylabel(' 人口(单位:百万)')>>title('拟合美国人口数据一指数增长型')>>legend('拟合数据')>>c1=(c-exp(polyval(p,t-1790).A2>>c2=sum(c1) >>subplot(2,1,2) >>plot(t,c1,'k+',1790,2000,0,0,'k') >>axis(1790,2000,-2

13、0,20)>>xlabel(' 年份'),ylabel(' 误差') >>title('拟合误差')程序调用:p =0.02021.7992s = R: 2x2 doubledf: 20normr: 1.1418bl =0.0202b2 =6.0450cl = 1.0e+004 *Columns 1 through 40.00050.00040.00030.0002Columns 5 through 8Colu mns 9 through 12Colu mns 13 through 160.00000.00660.0000

14、0.01660.00080.02970.00420.04040.05560.05180.04280.0039Colu mns 17 through 200.00080.00760.06840.3049Columns 21 through 220.87321.9802c2 = 3.4892e+004 _ _ £3# £t|itnwl "oKWifi daw JlphitJ .J it* b% -、心国山锻| 口因口Fl Fiqut 120BM 1820 184C 166018801900 1920 1940 160 射D 2M011r* 拥合始捱-jTT-|=*=1

15、抵舍芸国人口赵据一抬JU厝怕理ir-1-2CBOO 1820 184C198U 1900 1920 1M0 1960 *930 200(13、请分析指数增长模型非线性拟合和线性化拟合的结果有何区别?原因是什么?非线性拟合20Till1I10"十+ -+ + +于*-!iii-naw1800 1S201040卞 BSD IMO 19201-S40 IMO 1980 2Q00线性拟合NX。4、如果用阻滞增长模型 x(t)t )模拟美国人口 1790年至t0)X0(Nx°)e r(t2000年的变化过程,请用Matlab下三个数据拟合问题:(1)取定 xo=3.9,10=1790

16、,程序代码:>> p=(a,t)(a(2).*3.9)./(3.9+(a (2)-3.9).*exp(-a(1).*(t-1790);统计工具箱的函数拟合待定参数r和nli nfit计算阻滞增长的以N;>> 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;>> a=n li nfit(t,c,p,0.03,350)>>

17、; sse=sum(c-p(a,t).A2)>> plot(t,c,'r*',t,p(a,t),'r')>> axis(1790,2000,0,300)>> xlabel(' 年份'),ylabel(' 人口(单位:百万)')>> title('拟合美国人口数据一阻滞增长型')>> legend('拟合数据')程序调用:a =0.0274 342.4418 sse = 1.2249e+003(2)取定10=1790,拟合待定参数 xo, r

18、和N;程序代码:>> p=(a,t)(a(2).*a(3)./(a(3)+(a (2)-a(3).*exp(-a(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;>> a=nlin fit(t,c,p,0.03,350,4.0)>> sse=sum(c-p(a,t).A2)>&g

19、t; plot(t,c,'r*',t,p(a,t),'r')>> axis(1790,2000,0,300)>> xlabel(' 年份'),ylabel(' 人口(单位:百万)')>> title('拟合美国人口数据一阻滞增长型')>> legend('拟合数据')程序调用:a =0.0215 446.57327.6981sse = 457.7405a jr k | O ®T| r 口3QC扭合美国人1数据一阻滦垢氏型1p11p1I1*扭合

20、数据Aqure 1"If- Fdit -i. ir-zr Inir-fi T= 口Ik DmIHdo Wiridj Hr- p(3)拟合待定参数t。,xo, r和N要求写出程序,给出拟合参数和误差平方和的计算结果,并展示误差平方和最小的拟合效果图>> p=(a,t)(a (2).*a(3)./(a(3)+(a (2)-a(3).*exp(-a(1).*(t-1790+1*a(4);>> 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;>> a,x=nli nfit(t,c,p,0.03,350,4.0,10)>> sse=sum(c-p(a,t).A2)>> t0=1790+1*a (4)>> subplot(2,1,1)>> plot(t,c,'r*',t,p(a,t),'r')>> axis(1790,2000,0,300)>> xlabel(' 年份'),

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论