曲线拟合的最小二乘法matlab举例.doc
曲线拟合的最小二乘法学院:光电信息学院姓名:赵海峰学号:200820501001一、曲线拟合的最小二乘法原理:由已知的离散数据点选择与实验点误差最小的曲线称为曲线拟合的最小二乘法。若记 上式可改写为这个方程成为法方程,可写成距阵形式其中。它的平方误差为:二、数值实例:下面给定的是乌鲁木齐最近1个月早晨7:00左右(新疆时间)的天气预报所得到的温度数据表,按照数据找出任意次曲线拟合方程和它的图像。(2008年10月2611月26)天数12345678910温度910111213141312119天数11121314151617181920温度101112131412111098天数21222324252627282930温度78911976531下面应用Matlab编程对上述数据进行最小二乘拟合三、Matlab程序代码:x=1:1:30;y=9,10,11,12,13,14,13,12,11,9,10,11,12,13,14,12,11,10,9,8,7,8,9,11,9,7,6,5,3,1;a1=polyfit(x,y,3) %三次多项式拟合%a2= polyfit(x,y,9) %九次多项式拟合%a3= polyfit(x,y,15) %十五次多项式拟合%b1= polyval(a1,x)b2= polyval(a2,x)b3= polyval(a3,x)r1= sum(y-b1).2) %三次多项式误差平方和%r2= sum(y-b2).2) %九次次多项式误差平方和%r3= sum(y-b3).2) %十五次多项式误差平方和%plot(x,y,*) %用*画出x,y图像%hold onplot(x,b1, r) %用红色线画出x,b1图像%hold onplot(x,b2, g) %用绿色线画出x,b2图像%hold onplot(x,b3, b:o) %用蓝色o线画出x,b3图像%四、数值结果:不同次数多项式拟和误差平方和为:r1 = 67.6659r2 = 20.1060r3 = 3.7952r1、r2、r3分别表示三次、九次、十五次多项式误差平方和。拟和曲线如下图:上图中*代表原始数据,红色曲线代表三次多项式拟合曲线,绿色曲线代表九次多项式拟合曲线,蓝色o线代表十五次多项式拟合曲线。五、结论:以上结果可以看到用最小二乘拟合来求解问题时,有时候他的结果很接近实际情况,有时候跟实际情况里的太远,因为所求得多项式次数太小时数据点之间差别很大,次数最大是误差最小但是有时后不符合实际情况,所以用最小二乘法时次数要取合适一点。从上面的拟合中也可以得到多项式拟合误差平方和随着拟合多项式次数的增加而逐渐减小,拟合的曲线更靠近实际数据。拟合更准确。