1、37数值计算方法教案曲线拟合与函数逼近第三章 插值法与最小二乘法3.7 最小二乘法一、教学目标及基本要求通过对本节课的学习,使学生掌握数值逼近的拟合方法。二、教学内容及学时分配本章主要介绍数值分析的最小二乘法。具体内容如下:曲线拟合原理,最小二乘法。三、教学重点难点1教学重点:曲线拟合。2. 教学难点:最小二乘法。四、教学中应注意的问题多媒体课堂教学为主。适当提问,加深学生对概念的理解。一曲线拟合1.问题提出:已知多组数据,由此预测函数的表达式。数据特点:(1)点数较多。(2)所给数据存在误差。解决方法:构造一条曲线反映所给数据点的变化总趋势,即所谓的“曲线拟合”。2.直线拟合的概念设直线方程
2、为y=a+bx。则残差为:,其中。残差是衡量拟合好坏的重要标志。可以用MATLAB软件绘制残差的概念。x=1:6;y=3,4.5,8,10,16,20; p=polyfit(x,y,1);xi=0:0.01:7;yi=polyval(p,xi);plot(xi,yi,x,y, o);y1=polyval(p,x);hold onfor i=1:6 plot(i,i,y(i),y1(i), r);end可以绘制出如下图形:三个准则:(1)最小(2)最小(3)最小3.最小二乘法的直线拟合问题:对于给定的数据点,求一次多项式y=a+bx,使得总误差Q最小。其中。根据故有以下方程组(正则方程):例1.
3、给定数据表,求最小二乘拟合一次多项式xi165123150123141yi187126172125148 解:N=5,=702,=758,=99864,=108396。则有方程组解得a=-60.9392,b=1.5138,则一次多项式为y=-60.9392+1.5138b用MATLAB计算并画图如下:x=165,123,150,123,141;y=187,126,172,125,148;A(1,1)=5;A(1,2)=sum(x);A(1,3)=sum(y);A(2,1)=sum(x);A(2,2)=sum(x.2);A(2,3)=x*y;B=rref(A);a=B(1,3);b=B(2,3)
4、;p=b,a;%以上四行,可以用一行命令 p=polyfit(x,y,1); 替代。xi=min(x)-1:0.01:max(x)+1;yi=polyval(p,xi);plot(xi,yi,x,y, o);绘制如下图形4.最小二乘法的多项式拟合问题:对于给定的数据点,求m次多项式(m0)的经验公式,使它能和下表数据拟合。xi11.251.51.752yi5.15.796.537.458.46解:公式可以变为:lny=lna+bx,进一步可以写为Y=A+bx。其中Y=lny,A=lna,对应表格为:xi11.251.51.752yi5.15.796.537.458.46Yi1.6291.7561.8672.0082.135(4)求函数在区间1/4,1上的最小一次式。小结这节课我们主要学习了最小二乘法的原理及其上机实现过程,大家要求掌握最小二乘法的原理,并会设计算法,设计Matlab程序。作业:课后相应习题。