1、数值分析上机作业数值分析上机作业Document serial number UU89WT-UU98YT-UU8CB-UUUT-UUT108告 报 验 实析 上 机题:曲线拟合的最小二乘法ff:血口乳 分 弦选指专学姓课题八曲线拟合的最小二乘法一、问题提出从随机的数据中找出其规律性,给出其近似表达式的问题,在生产实践和科学实验中大量存在,通常利用数据的最小二乘法求得拟合曲 线。在某冶炼过程中,根据统计数据的含碳量与时间关系,试求含碳量y 与时间t的拟合曲线。t (分)0 55510 152025 3035 404550y(X10_4)0二、 要求1、 用最小二乘法进行曲线拟合;2、 近似解析表
2、达式为p(t) = alt + a2t2 ;3、 打印出拟合函数沁),并打印出0(E与血)的误差, 円,2,12;4、 另外选取一个近似表达式,尝试拟合效果的比较;5、 *绘制出曲线拟合图三、 目的和意义1、 掌握曲线拟合的最小二乘法;2、 最小二乘法亦可用于解超定线代数方程组;3、 探索拟合函数的选择与拟合精度间的关系。四、计算公式 对于给定的测量数据g,fMi二 1,2,勿,设函数分布为特别的,取冏(X)为多项式(p, (x) = xj (丿=0 1,ni)则根据最小二乘法原理,可以构造泛函令=0 (k=0, 1,ni)dak则可以得到法方程求该解方程组,则可以得到解5,绚,,冷,因此可得
3、到数据的最小二 乘解曲线拟合:实际工作中,变量间未必都有线性关系,如服药后血药 浓度与时间的关系;疾病疗效与疗程长短的关系;毒物剂量与致死率的 关系等常呈曲线关系。曲线拟合是指选择适当的曲线类型来拟合观测数 据,并用拟合的曲线方程分析两变量间的关系。五、结构程序设计在程序结构方面主要是按照顺序结构进行设计,在进行曲线的拟合 时,为了进行比较,在程序设计中,直接调用了最小二乘法的拟合函数 polyfit,并且依次调用了 plot、figure hold on函数进行图象的绘 制,最后调用了一个绝对值函数abs用于计算拟合函数与原有数据的误 差,进行拟合效果的比较。用一元三次多项式+ 进行拟合计算
4、解析表达式系数:al, a2, a3t 二0 5 10 15 20 25 30 35 40 45 50 55; n=length(xi);f=. *10. (-4)*x. *10. (-3) *x. 2+. *x+;x=0:55;F=. *10. (-4)*x. *10. (-3)*x. 2+. *x+;fy二abs(f-y);fy2=fy. 2;Ew=max(fy), El二sum(fy)/n, E2=sqrt(sum(fy2)/n)plot(xi, y, ? t*) hold on, plot (t, F, b-) hold off所得函数为 = 034364 X10-4 r3 - 5.2
5、156 X103 r2 + 0.2634/ + 0.013839运行后屏幕显示数据(J与拟合函数f的最大误差Ew,平均误差 E1和均方根误差E2及其数据点(兀,儿)和拟合曲线y=f(x)的图形如图.Ew =El =E2 =图一元三次多项式拟合曲线误差图用一元四次多项式 syms al a2 a3X二0 5 10 15 20 25 30 35 40 45 50 55;f i=al. *x. 2+ a2. *x+ a3运行后屏幕显示关于a“ a:和创的线性方程组:fi= a3, 25*al + 5*a2 + a3, 100*al + 10*a2 + a3, 225*al + 15*a2 + a3,
6、 400*al + 20*a2 + a3, 625*al + 25*a2 + a3, 900*al + 30*a2 + a3, 1225*al + 35*a2 + a3, 1600*al + 40*a2 + a3, 2025*al + 45*a2 + a3, 2500*al + 50*a2 + a3, 3025*al + 55*a2 + a3编写构造误差平方和的MATLAB程序:y=EO ;fi = a3, 25*al + 5*a2 + a3, 100*al + 10*a2 + a3, 225*al + 15*a2 + a3, 400*al + 20*a2 + a3, 625*al + 25*
7、a2 + a3, 900*al + 30*a2 + a3, 1225*al + 35*a2 + a3, 1600*al + 40*a2 + a3, 2025*al + 45*a2 + a3, 2500*al + 50*a2 + a3, 3025*al + 55*a2 + a3;fy=fi-y;fy2=fy. 2;J=sum(fy. 2)运行后屏幕显示误差平方和如下:J =(100*al + 10*a2 + a3 - 54/25厂2 + (25*al + 5*a2 + a3 - 127/100)2 + (225*al + 15*a2 + a3 - 143/50厂2 + (400*al + 20*
8、a2 + a3 - 86/25厂2 + (900*al + 30*a2 + a3 - 83/20厂2 + (625*al + 25*a2 + a3 - 387/100厂2 + (1225*al + 35*a2 + a3 - 437/100厂2 + (1600*al + 40*a2 + a3 - 451/100厂2 + (2025*al + 45*a2 + a3 - 229/50)2 + (2500*al + 50*a2 + a3 - 201/50厂2 + (3025*al + 55*a2 + a3 - 116/25厂2 + a3“2 = 0为求山,“2,如,心使丿达到最小,只需利用极值的必要条
9、件伙= 1,2,3,4),得到关于的线性方程组,这可以由下面的MATLAB 程序完成,即输入程序: syms al a2 a3J =(100*al + 10*a2 + a3 - 54/25),2 + (25*al + 5*a2 + a3 - 127/100厂2 + (225*al + 15*a2 + a3 - 143/50厂2 + (400*al + 20*a2 + a3 - 86/25)2 + (900*al + 30*a2 + a3 - 83/20厂2 + (625*al + 25*a2 + a3 - 387/100)2 + (1225*al + 35*a2 + a3 - 437/100)
10、,2 + (1600*al + 40*a2 + a3 - 451/100)2 + (2025*al + 45*a2 + a3 - 229/50)2 + (2500*al + 50*a2 + a3 - 201/50)*2 + (3025*al + 55*a2 + a3 - 116/25)2 + a32;Jal=diff(J, al) ;Ja2=diff(J, a2) ; Ja3二diff (J, a3);Jall=simple(Jal), Ja21二simple(Ja2), Ja31=simple(Ja3),运行后屏幕显示J分别对al, a2,a3的偏导数如下:Ja21 = 1089000*al
11、 + 25300*a2 + 660*a3 - 27131/10Ja31 = 25300*al + 660*a2 + 24*a3 - 3987/50解线性方程组Jail =0, Ja21 =0, Ja31二0输入下列程序:B二217403/2, 27131/10, 3987/50;C=B/A, F=poly2sym(C)运行后屏幕显示拟合函数f及其系数C如下:C =故所求的拟合曲线为:编写下面的MATLAB程序估计其误差,并作出拟合曲线和数据的图 形。输入程序: xi二0 5 10 15 20 25 30 35 40 45 50 55;y二0 ;n二length(xi);f二.*X2+ *x+;
12、x=0:55;F二.*x 2+. *x+;fy=abs(f-y);fy2=fy. *2;Ew=max(fy), El=sum(fy)/n, E2=sqrt(sum(fy2)/n)plot (xi, y, ? r*) hold on, plot (x, F, * b- ), hold offlegend(*数据点(xi, yi),拟合曲线y=f (x), xlabel ( x), ylabel ( y), title (数据点(xi, yi)和拟合曲线 y=f(x)的图形)运行后屏幕显示数据(兀)与拟合函数f的最大误差Ew,平均误差 E1和均方根误差E2及其数据点(几儿)和拟合曲线y=f(x)的
13、图形如图所 示:Ew =El =E2 =o图一元二次多项式拟合曲线误差图六、结果讨论和分析:由以上结果可知,拟合方程的选取至关重要,它决定了最大误差、平均误差以及均方根误差的大小,即拟合曲线的接近程度。本次实验, 最初所选取的拟合解析方程卩 + +获得较好的拟合,选用解析方程为曲) = 3 + +的曲线拟合时,精确度有所下降。由 此,拟合函数的选择和拟合精度致密相关,最小二乘法如果想将曲线拟 合的比较完美,必须应用适当的模拟曲线,如果模拟曲线选择不够适 当,那么用最小二乘法计算完后,会发现拟合曲线误差比较大,均方误 差也比较大,而如果拟合曲线选择适当,那么效果较好,且根据本次结 果可见,当采用更高次的多项式拟合数据,其结果的误差会更小。因 此,需要对已知点根据分布规律选取多个可能的近似拟合曲线,算出后 比较误差与均方误差,得到最佳拟合曲线。但是如果已知点分布非常不 规律,无法观察或是无法正确观察出其近似曲线,那么根本无法使用最 小二乘法进行曲线拟合,我们只能使用其它方法进行逼近。通过这次实验,我学习并实践了最小二乘法进行的曲线拟合的知 识,认识到数值分析这一分析方法在实际应用中的重要作用。而且通过 在实际操作发现了各种问题,并寻找到解决问题的方法,使我获益良 多。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1