第四讲 曲线拟合精选PPT.ppt
第四讲 曲线拟合第1页,此课件共35页哦2第四讲主要知识点第四讲主要知识点1 1、曲线拟合的概念、曲线拟合的概念2 2、曲线拟和的方法、曲线拟和的方法3 3、解矛盾方程组、解矛盾方程组第2页,此课件共35页哦3函数插值问题回忆函数插值问题回忆设已知某个函数关系设已知某个函数关系 在某些离散点上的函数值:在某些离散点上的函数值:插值问题插值问题插值问题插值问题:根据这些已知数据来构造函数根据这些已知数据来构造函数 的一种简单的近似表达式的一种简单的近似表达式,以便于计算点以便于计算点 的函数值的函数值 ,或计算函数的一阶、二阶,或计算函数的一阶、二阶导数值。导数值。第3页,此课件共35页哦4曲线拟和的概念 在前面所讨论的各种插值方法中,始假设数据点是精确的,准确在前面所讨论的各种插值方法中,始假设数据点是精确的,准确的,不可修改的,所要求出的插值曲线必须通过每一个数据点。的,不可修改的,所要求出的插值曲线必须通过每一个数据点。但但在实际工作中由于各随机因素的干扰,所得到的数据往往不同程度存在实际工作中由于各随机因素的干扰,所得到的数据往往不同程度存在着误差。在着误差。因此,插值方法只能适用那些误差可以忽略不记的情况,因此,插值方法只能适用那些误差可以忽略不记的情况,当误差较大而不能忽略时,又如何通过这些观测数据确定其内在的变当误差较大而不能忽略时,又如何通过这些观测数据确定其内在的变化规律呢?曲线拟合就是解决这一问题的主要方法之一。化规律呢?曲线拟合就是解决这一问题的主要方法之一。第4页,此课件共35页哦5曲线拟合的概念曲线拟合的概念如图所示,常常需要从一组获如图所示,常常需要从一组获得的数据点中,寻找变量与变得的数据点中,寻找变量与变量之间的变化规律用几何方量之间的变化规律用几何方法来解释,就是用已知平面内法来解释,就是用已知平面内的一组点,来确定一条曲线,的一组点,来确定一条曲线,使该曲线能在整体上刻画这使该曲线能在整体上刻画这组点的变化趋势而不需通过组点的变化趋势而不需通过每个点,每个点,我们称这种方法为曲我们称这种方法为曲线拟合,所求出的曲线称为拟线拟合,所求出的曲线称为拟合曲线。合曲线。xy第5页,此课件共35页哦6曲线拟合的方法曲线拟合的方法将上述问题抽象为数学问题为:设有一组数据对将上述问题抽象为数学问题为:设有一组数据对 ,求连续变量的一个函数,它在,求连续变量的一个函数,它在 处误差为处误差为 ,使总,使总体误差按某种算法达到最小常用的三种准则是体误差按某种算法达到最小常用的三种准则是:第6页,此课件共35页哦7曲线拟合的方法曲线拟合的方法()使得误差的最大的绝对值为最小,即()使得误差的最大的绝对值为最小,即()使误差的绝对值和最小,即()使误差的绝对值和最小,即()使误差的平方和为最小,即()使误差的平方和为最小,即 由于准测()、()含有绝对值不便于处理,由于准测()、()含有绝对值不便于处理,通常采用准测(),并称基于准则()来选取通常采用准测(),并称基于准则()来选取拟合曲线的方法,为曲线拟合的最小二乘法。拟合曲线的方法,为曲线拟合的最小二乘法。太复杂太复杂不可导,求解困难不可导,求解困难第7页,此课件共35页哦8多项式拟合多项式拟合一般而言,所求得的拟合函数可以是不同的函数类,其中一般而言,所求得的拟合函数可以是不同的函数类,其中最简单的是多项式,此时称为多项式拟合,具体定义如下:最简单的是多项式,此时称为多项式拟合,具体定义如下:第8页,此课件共35页哦9多项式拟合多项式拟合定义定义 设有给定的数据设有给定的数据 ,假设其拟合函数,假设其拟合函数形式为形式为 ,求系数求系数 ,使得,使得 取最小值称取最小值称 次多项式次多项式为为 次最小二乘拟合多项式次最小二乘拟合多项式(或或 次最小平方逼近次最小平方逼近多项式多项式)。特别地,当特别地,当 时,称时,称 为线性最小为线性最小二乘拟合。二乘拟合。第9页,此课件共35页哦10多项式拟合多项式拟合容易看出容易看出 是系数是系数 的的 元二次多项式元二次多项式(二次型二次型),所以可以用多元函数求极值的方法求其最小,所以可以用多元函数求极值的方法求其最小值点和最小值。将值点和最小值。将 对对 求偏导数得到驻点方程求偏导数得到驻点方程组:组:,即即 第10页,此课件共35页哦11直线拟合直线拟合问题问题 对于给定的数据点对于给定的数据点,求作一次式,求作一次式,使总误差为最小,即在二元函数式中,使总误差为最小,即在二元函数式中 为最小。为最小。这里这里Q是关于未知数是关于未知数a和和b的二元函数,这一问题就是要确定的二元函数,这一问题就是要确定a和和b取何值时,二元函数取何值时,二元函数的值最小的值最小?第11页,此课件共35页哦12直线拟合直线拟合 由微积分的知识可知,这一问题的求解,可归由微积分的知识可知,这一问题的求解,可归结为求二元函数结为求二元函数的极值问题,即的极值问题,即和和应满足:应满足:第12页,此课件共35页哦13直线拟合直线拟合第13页,此课件共35页哦14拟合例题拟合例题例例1 已知观测数据如下所示,求它的拟合曲线。已知观测数据如下所示,求它的拟合曲线。解:根据所给数据,在直角坐标下画出数据点,解:根据所给数据,在直角坐标下画出数据点,从图中可以看出,各点从图中可以看出,各点在一条直线附近,故可在一条直线附近,故可取线性函数作为拟合取线性函数作为拟合曲线曲线 1234544.5688.5第14页,此课件共35页哦15拟合例题(续拟合例题(续1 1)令令 将数据带入公式得,将数据带入公式得,解得解得 。因此而得所求拟合曲线为。因此而得所求拟合曲线为 。第15页,此课件共35页哦16拟合例题拟合例题例例2 2 有一滑轮组,要举起有一滑轮组,要举起W公斤的重物需要用公斤的重物需要用F公斤的力,实验所得的数据如下表。公斤的力,实验所得的数据如下表。求适合上述关系的近似公式。求适合上述关系的近似公式。第16页,此课件共35页哦17拟合例题拟合例题解解 首先,将这些数据画在直角坐标系中,从图形上首先,将这些数据画在直角坐标系中,从图形上 看,数据点的分布大致呈一条直线,所以设所求看,数据点的分布大致呈一条直线,所以设所求 的拟合直线为的拟合直线为 ,得关于得关于a和和b的线性方程组的线性方程组第17页,此课件共35页哦18其他类拟合问题其他类拟合问题 最小二乘法并不只限于多项式,也可用于任何最小二乘法并不只限于多项式,也可用于任何具体给出的函数形式。特别重要的是有些非线性最具体给出的函数形式。特别重要的是有些非线性最小二乘拟合问题通过适当的变换可以转化为线性最小二乘拟合问题通过适当的变换可以转化为线性最小二乘问题求解。小二乘问题求解。第18页,此课件共35页哦19拟合例题拟合例题例例2 2 已知数据表已知数据表12347111727求一形如求一形如解:所求拟合函数是一个指数函数,对它两边取自然对数,得解:所求拟合函数是一个指数函数,对它两边取自然对数,得 的经验公式与已知数据拟合的经验公式与已知数据拟合第19页,此课件共35页哦20拟合例题拟合例题于是对应于上述数据表得到一个以应数据表:于是对应于上述数据表得到一个以应数据表:12341.952.402.833.30若记若记则则从而将原问题转化为由新数据表所给出的线性拟合问题从而将原问题转化为由新数据表所给出的线性拟合问题易知其求解方程组为:易知其求解方程组为:第20页,此课件共35页哦21拟合例题拟合例题解之得解之得于是于是故所求经验公式为故所求经验公式为第21页,此课件共35页哦22拟合例题分析通过上述两例可知,用多项式作曲线拟合的计算步骤可分为如通过上述两例可知,用多项式作曲线拟合的计算步骤可分为如下几步:下几步:()根据已给的数据()根据已给的数据作草图,由草图估计出多项式的次数作草图,由草图估计出多项式的次数(m次次)并令并令,其中,其中()求解由最小二乘原理得到的方程组;()求解由最小二乘原理得到的方程组;()将所得的解作为拟合多项式的相关项的系数,则此()将所得的解作为拟合多项式的相关项的系数,则此多项式即为所求。多项式即为所求。为待定系数;为待定系数;第22页,此课件共35页哦23矛盾方程组试求下列矛盾方程组的解:试求下列矛盾方程组的解:很显然,直接求解是不行的,因为满足方程组的精确很显然,直接求解是不行的,因为满足方程组的精确解是不存在的!只能求出尽量满足方程组的近似解。解是不存在的!只能求出尽量满足方程组的近似解。第23页,此课件共35页哦24矛盾方程组矛盾方程组运用最小二乘法,要求满足方程组的解,运用最小二乘法,要求满足方程组的解,即求使下列值即求使下列值 最小的解最小的解 ,就是方程组的近似解:,就是方程组的近似解:第24页,此课件共35页哦25矛盾方程组矛盾方程组得解:得解:第25页,此课件共35页哦Matlab 实例xdata=0 5 10 15 25;ydata=0.001 0.881 2.1637 3.1827 4.961;degree=1;%Linear relationshipcoef=polyfit(xdata,ydata,degree);xx=-5:0.5:30;%Range for plotting yy=polyval(coef,xx);plot(xdata,ydata,o,xx,yy);26第26页,此课件共35页哦加权最小二乘法27权函数:权函数:离散型离散型/*discrete type*/根据一系列离散点根据一系列离散点 拟合时,在每一误差前拟合时,在每一误差前乘一正数乘一正数wi,即,即 误差函数误差函数 ,这个,这个wi 就称就称作权作权/*weight*/,反映该点的重要程度。,反映该点的重要程度。=-=niiiiyxPw12)(连续型连续型/*continuous type*/在在a,b上用广义多项式上用广义多项式 P(x)拟合连续函数拟合连续函数 f(x)时,定义权函时,定义权函数数 (x)Ca,b,即误差函数,即误差函数 =。权函数权函数(x)必须必须满足:非负、可积,且在满足:非负、可积,且在a,b的任何子区间的任何子区间上上(x)0。the LSCOV function can perform weighted-least-square regression第27页,此课件共35页哦各点的重要性可能是不一样的各点的重要性可能是不一样的重度重度:即权重或者密度,统称为权系数即权重或者密度,统称为权系数 定义加权定义加权平方误差为平方误差为第28页,此课件共35页哦29使得使得第29页,此课件共35页哦30由多元函数取极值的必要条件由多元函数取极值的必要条件得得即即第30页,此课件共35页哦31引入记号引入记号定义加权内积定义加权内积第31页,此课件共35页哦32矩阵形式矩阵形式(法方程组法方程组)为为方程组式化为方程组式化为第32页,此课件共35页哦33平方误差为平方误差为作为特殊情形作为特殊情形,用多项式作拟合函数的法方程组为用多项式作拟合函数的法方程组为第33页,此课件共35页哦34Subject:What Weighted-Least-Squares Fitting capabilities are available in MATLAB 6.1(R12.1)and the Toolboxes?Problem Description:Currently,the presence of data outliers can create an undesirable fit.Because the outlier lies far away from the true pattern of data,it induces error to the true fit.A workaround to this problem would be to minimize the weight(s)of such outlier(s).Solution:In MATLAB,the LSCOV function can perform weighted-least-square regression.x=lscov(A,b,w)where w is a vector length m of real positive weights,returns the weighted least squares solution to the linear system A*x=b,that is,x minimizes(b-A*x)*diag(w)*(b-A*x).w typically contains either counts or inverse variances.In addition,there are three toolboxes you can use to implement weights for your fits:=1.Statistics Toolbox:=Weighted linear regression in the Statistics Toolbox is part of the ROBUSTFIT function,B=ROBUSTFIT(X,Y,WFUN,TUNE,CONST)uses the weighting function WFUN and tuning constant TUNE.WFUN can be any of andrews bisquare,cauchy,fair,huber,logistic,talwar,welsch.As an alternative to specifying one of the named weight functions shown above,you can also write your own weight function(wfun)that takes a vector of scaled residuals as input and produces a vector of weights as output.For documentation on ROBUSTFIT,you can type doc robustfit(without quotes)at the MATLAB command prompt or view the online documentation found at the URL below:http:/ MATLAB versions prior to 7.1(R14SP3),we do not support a non-linear weighted least-square fit in the Statistics Toolbox.In MATLAB 7.1(R14SP3),the demo Weighted Nonlinear Regression,addresses this and is also available on the web at the following linkhttp:/ Fitting Toolbox=We have a more general weighted least square regression capability in the Curve Fitting Toolbox that supports any fit,linear and non-linear.The weight is part of the options to the Fit,and is supplied using the function FITOPTIONS.Go to the following URL for documentation on FITOPTIONS:http:/ the Curve Fitting Toolbox,the weight can actually be any vector of weights associated with the response data.Follow this link for more information about this Toolbox:http:/ Toolbox.=LSQNONLIN and LSQCURVEFIT are least-squares solvers in the Optimization Toolbox that can be used to fit equations to your data.In order to use LSQNONLIN to do a weighted least square fit,you will need to have an equation into which you want to fit your data.For an example on weighted least squares fitting using LSQNONLIN,see the Related Solution listed below.第35页,此课件共35页哦