第七章 数据的曲线拟合席_第1页
第七章 数据的曲线拟合席_第2页
第七章 数据的曲线拟合席_第3页
第七章 数据的曲线拟合席_第4页
第七章 数据的曲线拟合席_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七章数据的曲线拟合席第一页,共二十六页,2022年,8月28日1、联系都是根据实际中一组已知数据来构造一个能够反映数据变化规律的近似函数的方法。2、区别插值问题不一定得到近似函数的表达形式,仅通过插值方法找到未知点对应的值。数据拟合要求得到一个具体的近似函数的表达式。拟合模型可以分为直线拟合、曲线拟合和观察数据修匀。插值与拟合的区别和联系:第二页,共二十六页,2022年,8月28日一、直线拟合若用线性函数拟合如下数据:线性函数表示为:其中为待定系数。拟合直线称为回归直线。第三页,共二十六页,2022年,8月28日由于数据节点数大于未知数(即待定系数)的个数2,直线不可能经过每个点,但是直线与数据的偏差一定要达到最小。直线与点的偏离程度(即残差)定义为:残差的平方和为:第四页,共二十六页,2022年,8月28日要使R达到最小,令矩阵形式:“线性最小二乘法”第五页,共二十六页,2022年,8月28日确定系数的另一种方法是直接求解超定线性方程组:其中方程组两边同时左乘,得常规方程组:第六页,共二十六页,2022年,8月28日求解:在MATLAB中,也可直接求解超定方程组的解:c=A\y%可求得最小二乘解或已知数据点x与y,用polyfit命令c=polyfit(x,y,1)第七页,共二十六页,2022年,8月28日例1求拟合下列数据点的直线。>>x=[0.10.40.50.70.70.9];y=[0.610.920.991.521.472.03];c=polyfit(x,y,1)c=1.76460.2862即线性函数g(x)=1.7646x+0.2862第八页,共二十六页,2022年,8月28日>>A=[x'ones(6,1)];c=(A'*A)\(A'*y')c=1.76460.2862>>c=A\y'c=1.76460.2862第九页,共二十六页,2022年,8月28日绘图程序:x=[0.10.40.50.70.70.9];y=[0.610.920.991.521.472.03];c=polyfit(x,y,1);y1=polyval(c,x);plot(x,y,'.',x,y1)gtext('y=1.7646x+0.2862');xlabel('X');ylabel('Y');第十页,共二十六页,2022年,8月28日二、非线性曲线拟合对一组数据,若做拟合幂函数:为确定待定系数,取自然对数:取:则:问题简化为线性回归,拟合数据点为:然后确定第十一页,共二十六页,2022年,8月28日例2做下列数据点的幂函数拟合。c=polyfit(log(x),log(y),1)c=[0.20931.8588]结果:所以第十二页,共二十六页,2022年,8月28日第十三页,共二十六页,2022年,8月28日x=[0.150.40.61.011.52.22.42.72.93.53.84.44.65.16.67.6];y=[4.49645.12845.69316.28847.09897.55077.51068.07567.87088.24038.53038.73948.99819.14509.50709.9115];c=polyfit(log(x),log(y),1);alfa=c(1);beta=exp(c(2));y1=beta*x.^alfa;subplot(2,2,1)plot(x,y,'+')xlabel('X');ylabel('Y');第十四页,共二十六页,2022年,8月28日subplot(2,2,2)plot(x,y,'+')holdonloglog(x,y)xlabel('X');ylabel('Y');title('(a)Loglogplotofyvsx','Color','r')subplot(2,2,3)plot(log(x),log(y),'+',log(x),log(y))xlabel('log(X)');ylabel('log(Y)');title('(b)Linearplotoflog(y)vslog(x)','Color','r');subplot(2,2,4)plot(x,y,'+',x,y1)xlabel('X');ylabel('Y');title('(c)Linearplotofyvsx','Color','r');holdoff第十五页,共二十六页,2022年,8月28日例3

已知

x01234y1.52.53.55.07.5利用最小二乘法求指数拟合

y=ceax方法1令求a,c使S(a,c)=min%非线性最小二乘方法2非线性模型的线性化处理

y=ceax

取自然对数

ln(y)=ax+ln(c)得,Y=ax+b%线性最小二乘确定了a,b之后,可得c=eb第十六页,共二十六页,2022年,8月28日MATLAB提供了求非线性最小二乘拟合的函数:lsqcurvefit:

输入格式为:(1)x=lsqcurvefit(‘fun’,x0,xdata,ydata);(2)x=lsqcurvefit(‘fun’,x0,xdata,ydata,options);(3)x=lsqcurvefit(‘fun’,x0,xdata,ydata,options,’grad’);(4)[x,options]=lsqcurvefit(‘fun’,x0,xdata,ydata,…);(5)[x,options,funval]=lsqcurvefit(‘fun’,x0,xdata,ydata,…);(6)[x,options,funval,Jacob]=lsqcurvefit(‘fun’,x0,xdata,ydata,…);其中,‘fun’--事先定义的非线性拟合函数x0--迭代初值xdata,ydata--已知数据点第十七页,共二十六页,2022年,8月28日x=[01234];y=[1.52.53.55.07.5];

c=lsqcurvefit('fff',[1;2],x,y)%非线性最小二乘法yy=c(1)*exp(c(2)*x);

c1=polyfit(x,log(y),1);%线性化方法y1=exp(c1(2))*exp(x*c1(1));plot(x,yy,'b',x,y1,'r')legend('最小二乘法','线性化方法')xlabel('X');ylabel('Y');functiony=fff(c,x)y=c(1)*exp(c(2)*x);y=ceaxY=ax+b,c=eb第十八页,共二十六页,2022年,8月28日三、高次多项式曲线拟合最小二乘的思想可以推广到高次多项式拟合。设n次多项式:曲线与数据点的残差:记:为使R最小,令第十九页,共二十六页,2022年,8月28日即:矩阵形式为:第二十页,共二十六页,2022年,8月28日另一种推导格式:将其写为超定方程:其中:当时,方程为超定的,可求其最小二乘解:c=A\y或c=polyfit(x,y,n)第二十一页,共二十六页,2022年,8月28日例4

用二次多项式拟合下列数据: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')第二十二页,共二十六页,2022年,8月28日第二十三页,共二十六页,2022年,8月28日四、函数线性组合曲线拟合法拟合数据时,也可用已知函数的线性组合,形式为:其中是已知函数,是待定系数,n是所用函数个数。用上式拟合数据,得超定方程:第二十四页,共二十六页,2022年,8月28日例5

确定拟合函数的系数,拟合的数据如下。第二十五页,共二十六页,2022年,8月28日data=[0.10.61;0.40.92;0.50.99;0.71.52;0.71.47;0.92.03];x=data(:,1);y=data(:,2);A(:,1)=ones(size(x));A(:,2)=x;A(:,3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论