第七章 数据的曲线拟合优秀PPT.ppt
第七章 数据的曲线拟合现在学习的是第1页,共19页一、直线拟合一、直线拟合若用线性函数拟合如下数据:若用线性函数拟合如下数据:线性函数表示为:线性函数表示为:其中其中 为待定系数。为待定系数。拟合直线称为拟合直线称为回归直线回归直线。现在学习的是第2页,共19页 由于数据节点数大于由于数据节点数大于2,直线不可能经过每个点,但,直线不可能经过每个点,但是直线与数据的偏差一定要达到最小。是直线与数据的偏差一定要达到最小。直线与点的偏离程度(即残差)定义为:直线与点的偏离程度(即残差)定义为:残差的平方和为:残差的平方和为:现在学习的是第3页,共19页要使要使 R 达到最小,达到最小,令令记为:记为:现在学习的是第4页,共19页确定系数的另一种方法是直接求解超定线性方程组:确定系数的另一种方法是直接求解超定线性方程组:其中其中方程组两边同时左乘方程组两边同时左乘 ,得常规方程组:,得常规方程组:现在学习的是第5页,共19页求解:求解:在在MATLAB中,也可直接求解超定方程组的解:中,也可直接求解超定方程组的解:c=A y或已知数据点或已知数据点 x 与与 y,用用polyfit命令命令c=polyfit(x,y,1)现在学习的是第6页,共19页例例1 求拟合下列数据点的直线。求拟合下列数据点的直线。现在学习的是第7页,共19页二、非线性曲线拟合:幂函数拟合二、非线性曲线拟合:幂函数拟合对一组数据,若做拟合函数:对一组数据,若做拟合函数:为确定待定系数为确定待定系数 ,取对数:,取对数:取:取:则:则:问题简化为线性回归,拟合数据点为:问题简化为线性回归,拟合数据点为:现在学习的是第8页,共19页例例2 做下列数据点的幂函数拟合。做下列数据点的幂函数拟合。c=polyfit(log(x),log(y),1)c=0.2093 1.8588结果:结果:所以所以现在学习的是第9页,共19页现在学习的是第10页,共19页例例3.已知已知 x 0 1 2 3 4 y 1.5 2.5 3.5 5.0 7.5利用最小二乘法求指数拟合利用最小二乘法求指数拟合 y=c e a x方法方法1,令令求求a,c 使使 S(a,c)=min方法方法2非线性模型的线性化处理非线性模型的线性化处理 y=c e a x 取对数取对数 ln(y)=a x+ln(c)得得,Y=a x+b现在学习的是第11页,共19页三、高次多项式曲线拟合三、高次多项式曲线拟合最小二乘的思想可以推广到高次多项式拟合。最小二乘的思想可以推广到高次多项式拟合。设设 n 次多项式:次多项式:曲线与数据点的残差:曲线与数据点的残差:记:记:为使为使 R 最小,令最小,令现在学习的是第12页,共19页即:即:矩阵形式为:矩阵形式为:现在学习的是第13页,共19页 另一种推导格式:另一种推导格式:将其写为超定方程:将其写为超定方程:其中:其中:当当 时,方程为超定的,可求其最小二乘解:时,方程为超定的,可求其最小二乘解:c=Ay 或或 c=polyfit(x,y,n)现在学习的是第14页,共19页例例3 用二次多项式拟合下列数据:用二次多项式拟合下列数据:x=0.1,0.4,0.5,0.7,0.7,0.9;y=0.61,0.92,0.99,1.52,1.47,2.03;cc=polyfit(x,y,2);xx=0:0.1:1;yy=polyval(cc,xx);plot(xx,yy,x,y,x)axis(0,1,0,3)xlabel(X);ylabel(Y)现在学习的是第15页,共19页现在学习的是第16页,共19页四、函数线性组合曲线拟合法四、函数线性组合曲线拟合法 拟合数据时,也可用已知函数的线性组合,形式为:拟合数据时,也可用已知函数的线性组合,形式为:其中其中 是已知函数是已知函数,是待定系数,是待定系数,n是所用函数个数。是所用函数个数。用上式拟合数据,得超定方程:用上式拟合数据,得超定方程:现在学习的是第17页,共19页例例4 确定拟合函数确定拟合函数的系数,拟合的数据如下。的系数,拟合的数据如下。现在学习的是第18页,共19页data=0.1 0.61;0.4 0.92;0.5 0.99;0.7 1.52;0.7 1.47;0.9 2.03;x=data(:,1);y=data(:,2);A(:,1)=ones(size(x);A(:,2)=x;A(:,3)=sin(x);A(:,4)=exp(x);c=Ay;xx=0:0.01:1;g=c(1)*ones(size(xx)+c(2)*xx+c(3)*sin(xx)+c(4)*exp(xx);plot(x,y,*,xx,g);xlabel(x);ylabel(y)axis(square);axis(0,1,0,3)现在学习的是第19页,共19页