




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、最小二乘法线性与非线性拟合最小二乘法实现数据拟合最小二乘法原理函数插值是差值函数p(x)与被插函数f(x)在节点处函数值相同,即p( )=f()(i=0,1,2,3,,而曲线拟合函数不要求严格地通过所有数据点(),也就是说拟合函数在处的偏差=不都严格地等于零。但是,为了使近似曲线能尽量反应所给数据点的变化趋势,要求|按某种度量标准最小。即为最小。这种要求误差平方和最小的拟合称为曲线拟合的最小二乘法。(一) 线性最小二乘拟合根据线性最小二乘拟合理论,我们得知关于系数矩阵A的解法为A = RY。例题假设测出了一组,由下面的表格给出,且已知函数原型为y(x)=c1+c2*eA(-3*x)+c3*co
2、s(-2*x)*exp(-4*x)+c4*xA24冋0.210.40.70.90.920.9911.21.4| 1.48 |5” ”.882.25761.96831.92582.08622.1092.1979 H2.54092.9627卜155 |卜.2052试用已知数据求出待定系数的值。在Matlab中输入以下程序x=0,0.2,0.4,0.7,0.9,0.92,0.99,1.2,1.4,1.48,1.5;y=2.88;2.2576;1.9683;1.9258;2.0862;2.109;2.1979;2.5409;2.9627;3.155;3.2052;A= on es(size(x) ex
3、p(-3*x),cos(-2*x).*exp(-4*x) x.A2;运行结果为ans =1.22002.3397 -0.67970.8700下面画出由拟合得到的曲线及已知的数据散点图x1=0:0.01:1.5;A1=ones(size(x1) exp(-3*x1),cos(-2*x1).*exp(-4*x1) x1.A2; y1=A1*c;plot(x1,y1,x,y,o)事实上,上面给出的数据就是由已知曲线y(x)= 0.8700-0.6797*eA(-3*x)+ 2.3397*cos(-2*x)*exp(-4*x)+ 1.2200*乂人2产生的,由上图可见拟合效果较好。多项式最小二乘拟合在
4、Matlab的线性最小二乘拟合中,用得较多的是多项式拟合,其命令是A=polyfit(x,y,m)其中 表示函数中的自变量矩阵,表示因变量矩阵,是输出的系数矩阵,即多项式的系数。多项式在自变量x处的函数值y可用以下命令计算:y=polyval(A,x)例题 对下面一组数据作二次多项式拟合,即要求出二次多项式中的,使最小。100.10.20.30.40.50.60.7 |冋|冋口11在Matlab中输入以0-0.4471.9783.285.167.087.347.669.56I98 1回冋下命令x=0:.1:1;y=-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.
5、56 9.48 9.30 11.2;a=polyfit(x,y,2)运行结果为a =-9.8108 20.1293 -0.0317f=vpa(poly2sym(a),5)%vpa(polyval2sym(),n)只适用于关于多项式函数的拟合。因为此函数对于自变量统 规定为“x;将由polyfit ()所得出的系数按自变量幕次升降放在相应的位置。运行结果为-9.8108*xA2+20.129*x-.31671e-1下面画出由拟合得到的曲线及已知的数据散点图y1=polyval(a,x);plot(x,y,o,x,y1)(二) 非线性最小二乘拟合(1) lsqcurvefit()lsqcurvef
6、it()是非线性最小二乘拟合函数,其本质上是求解最优化问题。其使用格式为x=lsqcurvefit(fu n, xO,xdata,ydata)其中,fun是要拟合的非线性函数,x0是初始参数,xdata,ydata是拟合点的数据,该函数 最终返回系数矩阵。例题假设已知并已知该函数满足原型为,其中 为待定系数。在Matlab中输入以下命令x=0:.1:10;y=0.12*exp(-0.213*x)+0.54*exp(-0.17*x).*si n(1.23*x);f=in li ne(a(1)*exp(-a (2)*x)+a(3)*exp(-a (4) *x).*si n(a (5)*x),a,x
7、);%建立函数原型,则可以根据他来进行下面的求取系数的计算a,res=lsqcurvefit(f,1,1,1,1,1,x,y);a,res运行结果为ans =0.11970.21250.5404| 0.1702 res =7.1637e-007所求得的系数与原式中的系数相近。如果向进一步提高精度,则需修改最优化的选项,函数的调用格式也将随之改变。 在Matlab中输入以下命令ff=optimset;ff.TolFu n=1e-20;ff.TolX=1e-15;% 修改精度,即是修改其限制条件 a,res=lsqcurvefit(f,1,1,1,1,1,x,y,ff);% 两个空矩阵表示系数向量
8、的上下限 a,res运行结果为ans = 0.1200 0.2130 0.54000.1700 2300res = 9.5035e-021下面绘图x1=0:0.01:10;plot(x1,y1,x,y,o)(2) lsqnonlin()Isqnonlin()函数是另一种求最小二乘拟合的函数,其本质上是求解最优化问题最优化解。它的应用格式为x=ls qnon li n(fun, x0)其中,fun的定义与lsqnonlin()函数中fun的定义有差别,x0仍为初始参数向量,将输出的系数结果放在变量中。说明lsqnonlin()函数的使用方法。首先编写目标函数(curve_fu n.m)funct
9、ion y=curve fun(p)%非线性最小二乘拟合函数x=0.02 0.02 0.06 0.06 0.11 0.11 0.22 0.22 0.56 0.56 1.10 1.10;y=76 47 97 107 123 139 159 152 191 201 207 200;y=p(1)*x./(p (2)+x)-y;再用lsqnonlin ()函数求解,输入p,res no rm,residual=ls qnon li n( curve fu n,200,0.1) 运行结果为p =212.68360.0641resnorm =1.1954e+003 residual =Colu mns 1
10、 through 113.56615.8111 -4.1889 11.3617 -4.63835.6847 12.6847 -0.1671 -10.1671 -6.0313Colu mn 120.9687上面的两种方法都可以作非线性最小二乘曲线拟合(3)非线性函数的线性化在进行非线性拟合时,以往由于计算机和相关软件水平有限,常常先把非线性的曲线拟合线性化,然后再进行拟合。下面比较一下先线性化再进行拟合和直接进行非线性拟合的差异。例题已知数据0.250.51A2 13468719.2118.1515.3614.1012.899.327.455.243.01满足曲线通过数据拟合求出参数和。方法一:
11、先将非线性函数转化为线性函数编写Matlab程序如下d=300;t=0.25 0.5 1 1.5 2 3 4 6 8;c=19.21 18.15 15.36 14.10 12.89 9.32 7.45 5.24 3.01;y=log(c);a=polyfit(t,y,1)运行结果为a =| -0.23472.9943 k=-a(1)k =0.2347 v=d/exp(a(2)v =15.0219由此也可以求出相关系数。方法二:应用非线性拟合直接求解系数建立m文件:function f=curvefu n3(x,tdata)d=300f=(x(1)d)*exp(-x (2) *tdata)%x(
12、1)=v;x(2)=k运行程序tdata=0.25 0.5 1 1.5 2 3 4 6 8;cdata=19.21 18.15 15.36 14.10 12.89 9.32 7.45 5.24 3.01;xO=1O 0.5;x=lsqcurvefit(curvefu n3,x0,tdata,cdata)运行结果为x =| 14.82120.2420下面绘图f=curvefun 3(x,tdata);plot(tdata,cdata,o,tdata,f)我们发现两种求法求出的系数很接近。(三)线性拟合和非线性拟合区别与联系在许多实际问题中,变量之间内在的关系并不想前面说的那样简单。呈线性关系,但
13、有些非线性拟合曲线可以通过适当的变量替换转化为线性曲线,从而用线性拟合进行处理。对于一个实际的曲线拟合问题, 一般先根据观测值在直角坐标平面上描出散点图,看一看散点的分布同哪类曲线图形接近,让后选用相接近的曲线拟合方程,再通过适当的变量替换转化为线性拟合问题,按线性拟合解出后再还原为原变量所表示的曲线拟合方程。表1.1线性拟合方程变量变换变换后线性拟合方程Y=JY=aY=aY=JY=卜 1例题x=1.1052,1.2214,1.3499,1.4918,1.6478,1.8221,2.0138,2.2255,2.4596,2.7183,3.6693;y=0.6795,0.6006,0.5309,0.4693,0.4148,0.3666,0.3241,0.2864,0.2532,0.2238,0.1546;plot(x,y,x,y,*)见下图由上图可以看出是非线
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江省杭州市临安区达标名校2025年初三第四次模考数学试题含解析
- 事业单位短期合同工协议书模板
- 山东省枣庄市滕州市滕州市第一中学2024-2025学年高三2月第一次调研生物试题理试题含解析
- 新津县2025年三年级数学第二学期期末复习检测模拟试题含解析
- 吉林省白城市洮南市2025年六年级下学期5月模拟预测数学试题含解析
- 统编版二年级语文下册第七单元测试卷(含答案)
- 辽宁省辽阳市2023-2024学年八年级上学期期末考试物理试题【含答案】
- 自然人股权转让合同指南
- 土建劳务分包合同
- 版展览场地租赁合同典范
- (四调)武汉市2025届高中毕业生四月调研考试 语文试卷(含答案详解)
- 2025年融媒体中心招聘考试笔试试题(60题)附答案
- 大学生创新创业基础(创新创业课程)完整全套教学课件
- GIS组合电器课件
- 2022年陕西金融资产管理股份有限公司招聘笔试题库及答案解析
- 武术的起源与发展概述(课件)
- 自愿放弃社保协议书模板
- (高职)经济数学电子课件完整版PPT全书电子教案
- 2022年保安考试题库有答案
- (完整版)老人健康智能手环可行性分析报告 (1)
- 低钠血症鉴别诊断-杜斌PPT课件
评论
0/150
提交评论