最小二乘法二次多项式曲线拟合结果如下: Linear model Poly2:
f(x) = p1*x^2 + p2*x + p3
Coefficients (with 95% confidence bounds): p1 =0.01682 (0.01306, 0.02058) p2 =-0.434 (-0.5065, -0.3615) p3 =2.297 (1.953, 2.641) Goodness of fit: SSE: 0.0005847 R-square: 0.9978 Adjusted R-square: 0.9971 RMSE: 0.009139
最小二乘法四次多项式曲线拟合如下: Linear model Poly4:
f(x) = p1*x^4 + p2*x^3 + p3*x^2 + p4*x + p5 Coefficients (with 95% confidence bounds): p1 =-0.001189 (-0.002519, 0.0001416) p2 =0.04865 (-0.002567, 0.09987) p3 =-0.7211 (-1.454, 0.01222) p4 =4.478 (-0.1476, 9.104) p5 =-9.809 (-20.66, 1.04) Goodness of fit: SSE: 8.619e-005 R-square: 0.9997 Adjusted R-square: 0.9994 RMSE: 0.004152
最小二乘法二次多项式曲线拟合的SSE(误差平方和)为0.0005847,最小二乘法四次多项式曲线拟合的SSE=8.619e-0005,显然最小二乘法中四次多项式的误差平方和比二次的更接近于0,误差平方和SSE越接近于零曲线拟合效果越好。不管从图形还是参数的比较都可以得出,最小二乘法中四次多项式曲线拟合的效果比二次多项式拟合好。
4.4 内插式曲线拟合
如果不考虑曲线拟合参数只想得到一条光滑且通过各个数据点的曲线,可以采用内插式曲线拟合,这种拟合方式也成为非参数拟合。内插式法有linear(线性内插)、Nearest neighbor(最近邻内插)、Cubic spline(三次样条内插)和Shape-preserving(分段三次艾米尔内插)。内插式曲线拟合效果如图7。
8
图7 内插式曲线拟合
红色曲线是用最近邻内插法Nearest neighbor得到的曲线,蓝色曲线是用三次样条内插拟合法得到的拟合曲线。这两种内插法拟合效果差别较大,具有不同的用途。最邻近内插法的内插点在最相邻两个数据点之间,最后得到一个锯齿的图形。倘若不考虑曲线的物理意义,则可以考虑三次样条内插法拟合。
4.5 平滑样条曲线拟合
本文用默认的平滑参数、平滑参数为0.5和平滑参数为1分别对数据集进行平滑内插拟合,图中fit6为默认平滑参数的拟合结果,fit7为给定参数0.5时的拟合曲线,fit8为给定平滑参数为1的拟合曲线。平滑样条曲线拟合效果如图8。
9
图8 平滑样条曲线拟合
平滑参数为0.5的平滑样条拟合结果如下: Smoothing spline:
f(x) = piecewise polynomial computed from p Smoothing parameter: p = 0.5 Goodness of fit: SSE: 0.001125 R-square: 0.9957 Adjusted R-square: 0.9944 RMSE: 0.01274
默认平滑参数平滑样条拟合结果如下: Smoothing spline:
f(x) = piecewise polynomial computed from p Smoothing parameter:
10
p = 0.98630137 Goodness of fit: SSE: 4.186e-005 R-square: 0.9998 Adjusted R-square: 0.9996 RMSE: 0.003551
平滑参数为1的平滑样条拟合结果如下: Smoothing spline:
f(x) = piecewise polynomial computed from p Smoothing parameter: p = 1 Goodness of fit: SSE: 0 R-square: 1
Adjusted R-square: NaN RMSE: NaN
从图中兼数据结果可以看出Fit6默认平滑值参数的曲线拟合效果最好,fit7给定平滑参数0.5的曲线拟合效果最差,fit8给定平滑参数为1的拟合结果接近于三次样条,且经过每个参数点。
5 曲线拟合结果的比较
曲线拟合工具箱的Results罗列了各种拟合参数,包括置信区间大于95%的相关系数和显示拟合效果好坏的参数。
测量时用X和V表示实验中得到的数据。根据测量值得到的曲线拟合函数表示成V?f(x假设)。存在n组拟合数据集,根据曲线拟合函数分别代入x值,就可以得到相应的拟合值v?,从而得到对应的残余误差(V?v?)。
(1) 误差平方和SSE(sum of squares due to error),SSE值越接近于0曲线拟合效果就越好。SSE的数学表达式:
SSE??)2 (V?i?vii?1n(2) 相关指数R-Square,是SSR与SST的比值,其中SSR和SST的定义为:
SSR?SST??(vi?V)2i?1nn
2?(Vi?V)i?1R?square?SSRSSE?1??SSTSST 11
?(vi?V)2?(Vi?V)2i?1i?1nn
R-Square的取值范围是[0,1],R2越接近于“1”,表示所拟合的曲线效果越好[12]。
(3) 调整自由度以后的残差平方Adjusted R-Square,自由度是响应数据个数n减去被拟合的相关系 数m。Adjusted R-Square值越接近1,曲线的拟合效果越好[13]。
(4) 根的均方误差RMSE,数学表达式:
RMSE?MSE
SSEMSE?N
RMSE的值越接近于0,曲线拟合效果就越好。
表2是指数函数拟合、最小二乘法四次多项式拟合、三次样条内插式拟合和默认平滑参数的平滑样条拟合的相关误差参数的结果。
表2 拟合误差参数对照表
Type 指数函数拟合 最小二乘法四次多项式拟合
三次样条内插式拟合 平滑样条拟合
SSE 0.0009876 8.619e-005
0 4.186e-005
R-square 0.9962 0.9997 1 0.9998
Adjusted R-square
0.9943 0.9994 NaN 0.9996
RMSE 0.01283 0.004152 NaN 0.003551
6 结论
指数函数拟合同其它三种曲线拟合方式相比可见:误差平方和SSE值最大,相关指数R2 同其它三种拟合方式相比更远离1,还有Adjusted R-square和RMSE指标也比较差,这个结果与曲线拟合图形相吻合。这说明本文的数据集采用基于MATLAB曲线拟合的四种拟合方式中指数函数拟合效果最差。
最小二乘法四次多项式拟合同其它三种曲线拟合方式相比可见:最小二乘法四次多项式拟合的各项指标均比指数函数拟合好却不如三次样条内插式拟合和平滑样条拟合,但最小二乘法四次多项式拟合可以写出相对应的曲线拟合方程式,而三次样条内插式拟合和平滑样条拟合两种拟合方式只能较好的拟合出曲线却写不出对应的数学关系式。
三次样条内插式曲线拟合和其它三种曲线拟合相比可见:三次样条内插式曲线拟合的精度最高,因为它不考虑拟合参数只要曲线经过每一个数据点,所以内插式曲线拟合能较佳的拟合出曲线。但三次样条内插式曲线拟合与平滑样条曲线拟合一样不能写出曲线对应的数学表达式。
平滑曲线拟合同其它三种曲线拟合方式相比可见:平滑样条曲线拟合的误差平方和、相关指数R2 、调整后的残余平方和Adjusted R-square和根的均方误差RMSE四项指标虽然比三次样条内插式曲线拟合略逊一点,但与最小二乘法四次多项式拟合的结果相比好一点,所以精度相对较高,曲线也比较光滑。平滑样条曲线拟合虽然给出了拟合的平滑程度值,却也写不出相应的数学表达式。
综合以上各种曲线拟合方式,如果已知数据集的数学方程可以直接选择相应函数的拟合方式;如果不懂得曲线拟合函数模型的可以采用尝试法,一般最小二乘法的多项式就可以很好的拟合出曲线并给出相应的函数关系式和误差参数;如果不考虑曲线拟合参数或物理意义,只要曲线经过每一个数据点可以采用内插式曲线拟合或平滑样条拟合,平滑样条拟合可以选择曲线的平滑参数。
12
用MATLAB曲线拟合工具箱对数据集进行处理,能够快捷的得到比较满意的曲线拟合。MATLAB软件在许多工程分析和科学研究中也越来越重要,MATLAB的广泛应用,必将使它成为未来科技人员的必备工具。
致谢:
文章已基本完成。在此,首先感谢我的指导老师,感谢她在我毕业设计过程中对我的耐心指导和诚挚的关怀,老师严谨的工作态度和创新精神深深地感染着我;同时感谢学院电子信息工程学系给我提供了一个良好的学习、生活环境;还要感谢在学习、生活上给予我帮助的同学们。谢谢你们的参与,是你们让我的生活更加的精彩。
参考文献:
[1] 周国清.应用MATLAB 软件处理曲线拟合[J].重庆职业技术学院学报,2003,2(1):38-39. [2] 郑文.曲线拟合[D].重庆:西南大学,2008.
[3] 王吉钧,叶臣,叶倩.基于MATLAB的离心泵特性曲线的拟合方法[J].电脑应用技术,2006,4(66):36-37. [4] 唐家德.基于MATLAB的非线性曲线拟合[J].计算机与现代化,2008,6(6):15-19.
[5] 王丹力,赵剡,邱志平.MATLAB控制系统设计仿真应用[M].北京:中国电力出版社,2007. [6] 陈怀琛,龚杰民.线性代数实践及MATLAB入门[M].北京:电子工业出版社,2009.
[7] 胡庆婉.使用MATLAB曲线拟合工具箱做曲线拟合[J].电脑知识与技术,2010,6(21):582-583.
[8] 伦冠德.MATLAB曲线拟合工具箱在试验数据处理上的应用[J].拖拉机与农用运输车,2006,3(4):90-91. [9] 冯元珍,屠小明,罗建平.MATLAB在曲线拟合中的应用[J].福建电脑,2007,5(4):160-161. [10] 刘春凤,何亚丽.应用数值分析[M].北京:冶金工业出版社,2009.
[11] 传感器及其工作原理[EB/OL].(2008-03-28)[2011-3-5].http://www.docin.com/p-83393350.html.
[12] 林振衡,林锋.基于MATLAB的MoSi_2发热体电阻率曲线拟合[J].莆田学院报,2008,15(2):83-85. [13] MATLAB所有工具箱详解[EB/OL].(2010-09-02)[2011-3-5].http://wenku.http://www.njliaohua.com//view/8200c302de80d4d8d15a
4f55.html.
13