数值分析上机作业

上传人:桔**** 文档编号:554654071 上传时间:2023-09-28 格式:DOC 页数:10 大小:191KB
返回 下载 相关 举报
数值分析上机作业_第1页
第1页 / 共10页
数值分析上机作业_第2页
第2页 / 共10页
数值分析上机作业_第3页
第3页 / 共10页
数值分析上机作业_第4页
第4页 / 共10页
数值分析上机作业_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《数值分析上机作业》由会员分享,可在线阅读,更多相关《数值分析上机作业(10页珍藏版)》请在金锄头文库上搜索。

1、数值分析上机实验报告选 题:曲线拟合的最小二乘法指导老师: 专 业: 学 号: 姓 名: 课题八 曲线拟合的最小二乘法一、问题提出从随机的数据中找出其规律性,给出其近似表达式的问题,在生产实践和科学实验中大量存在,通常利用数据的最小二乘法求得拟合曲线。在某冶炼过程中,根据统计数据的含碳量与时间关系,试求含碳量y与时间t的拟合曲线。t(分)0 5 10 15 20 25 30 35 40 45 50 55y(10-4)0 1.27 2.16 2.86 3.44 3.87 4.15 4.37 4.51 4.58 4.02 4.64二、要求1、用最小二乘法进行曲线拟合;2、近似解析表达式为;3、打印

2、出拟合函数,并打印出与的误差,;4、另外选取一个近似表达式,尝试拟合效果的比较;5、*绘制出曲线拟合图*。三、目的和意义1、掌握曲线拟合的最小二乘法;2、最小二乘法亦可用于解超定线代数方程组;3、探索拟合函数的选择与拟合精度间的关系。四、计算公式对于给定的测量数据(xi,fi)(i=1,2,,n),设函数分布为特别的,取为多项式 (j=0, 1,,m)则根据最小二乘法原理,可以构造泛函令 (k=0, 1,,m)则可以得到法方程求该解方程组,则可以得到解,因此可得到数据的最小二乘解曲线拟合:实际工作中,变量间未必都有线性关系,如服药后血药浓度与时间的关系;疾病疗效与疗程长短的关系;毒物剂量与致死

3、率的关系等常呈曲线关系。曲线拟合是指选择适当的曲线类型来拟合观测数据,并用拟合的曲线方程分析两变量间的关系。五、结构程序设计在程序结构方面主要是按照顺序结构进行设计,在进行曲线的拟合时,为了进行比较,在程序设计中,直接调用了最小二乘法的拟合函数polyfit,并且依次调用了plot、figure、hold on函数进行图象的绘制,最后调用了一个绝对值函数abs用于计算拟合函数与原有数据的误差,进行拟合效果的比较。5.1用一元三次多项式进行拟合计算解析表达式系数: a1, a2, a3t=0 5 10 15 20 25 30 35 40 45 50 55;y=0 1.27 2.16 2.86 3

4、.44 3.87 4.15 4.37 4.51 4.58 4.02 4.64; n=length(xi);f=0.34364.*10.(-4)*x.3-5.2156.*10.(-3)*x.2+0.26340.*x+0.017839; x=0:0.01:55; F=0.34364.*10.(-4)*x.3-5.2156.*10.(-3)*x.2+0.26340.*x+0.017839;fy=abs(f-y);fy2=fy.2;Ew=max(fy),E1=sum(fy)/n,E2=sqrt(sum(fy2)/n)plot(xi,y,t*), hold on, plot(t,F,b-), hold

5、off 所得函数为运行后屏幕显示数据与拟合函数f的最大误差Ew,平均误差E1和均方根误差E2及其数据点和拟合曲线y=f(x)的图形如图5.1.Ew =0.4243E1 =0.0911E2 =0.1467图5.1一元三次多项式拟合曲线误差图5.2用一元四次多项式进行拟合:计算多项式系数:a1, a2, a3, a4xi=0 5 10 15 20 25 30 35 40 45 50 55;y=0 1.27 2.16 2.86 3.44 3.87 4.15 4.37 4.51 4.58 4.02 4.64;n=length(xi);x=0:0.01:55;f=0.6026.*10.(-6)*x.4-

6、0.31918.*10.(-4)*x.3-0.0029323.*x.2+0.23807.*x+0.060449; x=0:0.01:55;F=0.6026.*10.(-6)*x.4-0.31918.*10.(-4)*x.3-0.0029323.*x.2+0.23807.*x+0.060449;fy=abs(f-y);fy2=fy.2;Ew=max(fy),E1=sum(fy)/n,E2=sqrt(sum(fy2)/n)plot(xi,y,r*), hold on, plot(x,F,b-), hold off 所得函数为运行后屏幕显示数据与拟合函数f的最大误差Ew,平均误差E1和均方根误差E2

7、及其数据点和拟合曲线y=f(x)的图形如图5.2。Ew = 0.3897E1 = 0.1034、E2 =0.1429图5.2一元四次多项式拟合曲线误差图5.3用一元二次多项式进行拟合:计算多项式系数:a1, a2, a3输入程序: syms a1 a2 a3x=0 5 10 15 20 25 30 35 40 45 50 55;fi=a1.*x.2+ a2.*x+ a3运行后屏幕显示关于a1,a2和a3的线性方程组:fi= a3, 25*a1 + 5*a2 + a3, 100*a1 + 10*a2 + a3, 225*a1 + 15*a2 + a3, 400*a1 + 20*a2 + a3,

8、625*a1 + 25*a2 + a3, 900*a1 + 30*a2 + a3, 1225*a1 + 35*a2 + a3, 1600*a1 + 40*a2 + a3, 2025*a1 + 45*a2 + a3, 2500*a1 + 50*a2 + a3, 3025*a1 + 55*a2 + a3编写构造误差平方和的MATLAB程序:y=0 1.27 2.16 2.86 3.44 3.87 4.15 4.37 4.51 4.58 4.02 4.64;fi = a3, 25*a1 + 5*a2 + a3, 100*a1 + 10*a2 + a3, 225*a1 + 15*a2 + a3, 40

9、0*a1 + 20*a2 + a3, 625*a1 + 25*a2 + a3, 900*a1 + 30*a2 + a3, 1225*a1 + 35*a2 + a3, 1600*a1 + 40*a2 + a3, 2025*a1 + 45*a2 + a3, 2500*a1 + 50*a2 + a3, 3025*a1 + 55*a2 + a3;fy=fi-y;fy2=fy.2;J=sum(fy.2) 运行后屏幕显示误差平方和如下:J =(100*a1 + 10*a2 + a3 - 54/25)2 + (25*a1 + 5*a2 + a3 - 127/100)2 + (225*a1 + 15*a2 +

10、 a3 - 143/50)2 + (400*a1 + 20*a2 + a3 - 86/25)2 + (900*a1 + 30*a2 + a3 - 83/20)2 + (625*a1 + 25*a2 + a3 - 387/100)2 + (1225*a1 + 35*a2 + a3 - 437/100)2 + (1600*a1 + 40*a2 + a3 - 451/100)2 + (2025*a1 + 45*a2 + a3 - 229/50)2 + (2500*a1 + 50*a2 + a3 - 201/50)2 + (3025*a1 + 55*a2 + a3 - 116/25)2 + a32为求

11、使达到最小,只需利用极值的必要条件 ,得到关于的线性方程组,这可以由下面的MATLAB程序完成,即输入程序 : syms a1 a2 a3J =(100*a1 + 10*a2 + a3 - 54/25)2 + (25*a1 + 5*a2 + a3 - 127/100)2 + (225*a1 + 15*a2 + a3 - 143/50)2 + (400*a1 + 20*a2 + a3 - 86/25)2 + (900*a1 + 30*a2 + a3 - 83/20)2 + (625*a1 + 25*a2 + a3 - 387/100)2 + (1225*a1 + 35*a2 + a3 - 437

12、/100)2 + (1600*a1 + 40*a2 + a3 - 451/100)2 + (2025*a1 + 45*a2 + a3 - 229/50)2 + (2500*a1 + 50*a2 + a3 - 201/50)2 + (3025*a1 + 55*a2 + a3 - 116/25)2 + a32;Ja1=diff(J,a1);Ja2=diff(J,a2);Ja3=diff(J,a3);Ja11=simple(Ja1),Ja21=simple(Ja2),Ja31=simple(Ja3),运行后屏幕显示J分别对a1, a2 ,a3的偏导数如下:Ja11 =49967500*a1 + 10

13、89000*a2 + 25300*a3 - 217403/2Ja21 = 1089000*a1 + 25300*a2 + 660*a3 - 27131/10Ja31 = 25300*a1 + 660*a2 + 24*a3 - 3987/50解线性方程组Ja11 =0,Ja21 =0,Ja31 =0输入下列程序:A=49967500,1089000,25300;1089000, 25300,660;25300,660,24;B=217403/2,27131/10,3987/50;C=B/A, F=poly2sym(C)运行后屏幕显示拟合函数f及其系数C如下:C =-0.0024 0.2037 0

14、.2305故所求的拟合曲线为:编写下面的MATLAB程序估计其误差,并作出拟合曲线和数据的图形。输入程序: xi=0 5 10 15 20 25 30 35 40 45 50 55;y=0 1.27 2.16 2.86 3.44 3.87 4.15 4.37 4.51 4.58 4.02 4.64;n=length(xi);f=-0.0023805.*x.2+0.20369.*x+0.23047;x=0:0.01:55;F=-0.0023805.*x.2+0.20369.*x+0.23047;fy=abs(f-y);fy2=fy.2;Ew=max(fy),E1=sum(fy)/n,E2=sqrt(sum(fy2)/n)plot(xi,y,r*), hold on, plot(x,F,b-), hold off legend(数据点(xi,yi),拟合曲线y=f(x),xlabel(x),ylabel(y),title(数据点(xi,yi)和拟合曲线y=f(x)的图形)运行后屏幕显示数据与拟合函数f的最大误差Ew,平均误差E1和均方根误差E2及其数据点和拟合曲线y=f(x)的图形如图5.3所示:Ew =0.4437E1 = 0.1426

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号