




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、最小二乘法线性与非线性拟合最小二乘法实现数据拟合最小二乘法原理函数插值是差值函数p(x与被插函数f(x在节点处函数值相同,即p( =f( (i=0,1,2,3,n,而曲线拟合函数 不要求严格地通过所有数据点( ,也就是说拟合函数 在 处的偏差=不都严格地等于零。但是,为了使近似曲线能尽量反应所给数据点的变化趋势,要求| |按某种度量标准最小。即=为最小。这种要求误差平方和最小的拟合称为曲线拟合的最小二乘法。(一线性最小二乘拟合根据线性最小二乘拟合理论,我们得知关于系数矩阵A的解法为ARY。例题假设测出了一组,由下面的表格给出,且已知函数原型为y(x=c1+c2*e(-3*x+c3*cos(-2
2、*x*exp(-4*x+c4*x2x00.20.40.70.90.920.991.21.41.481.5y2.882.25761.96831.92582.08622.1092.19792.54092.96273.1553.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=ones(size(x exp(-3*x,cos(-2*x.*e
3、xp(-4*x x.2;c=Ay;c运行结果为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.2;y1=A1*c;plot(x1,y1,x,y,o事实上,上面给出的数据就是由已知曲线y(x= 0.8700-0.6797*e(-3*x+ 2.3397*cos(-2*x*exp(-4*x+ 1.2200*x2产生的,由上图可见拟合效果较好。多项式最小二乘拟合在Matlab的线性最小二乘拟合中,用得较多的是多项式拟合,其
4、命令是A=polyfit(x,y,m其中 表示函数中的自变量矩阵, 表示因变量矩阵,是输出的系数矩阵,即多项式的系数。多项式在自变量x处的函数值y可用以下命令计算:y=polyval(A,x例题对下面一组数据作二次多项式拟合,即要求出二次多项式 中的 ,使最小。x00.10.20.30.40.50.60.70.80.91y0.4471.9783.286.167.087.347.669.569.489.3011.2在Matlab中输入以下命令x=0:.1:1;y=-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2;a=polyfit
5、(x,y,2运行结果为a =-9.810820.1293-0.0317f=vpa(poly2sym(a,5%vpa(polyval2sym(),n)只适用于关于多项式函数的拟合。因为此函数对于自变量统一规定为“x”,将由polyfit()所得出的系数按自变量幂次升降放在相应的位置。运行结果为f =-9.8108*x2+20.129*x-.31671e-1下面画出由拟合得到的曲线及已知的数据散点图y1=polyval(a,x;plot(x,y,o,x,y1(二)非线性最小二乘拟合(1)lsqcurvefit( lsqcurvefit( 是非线性最小二乘拟合函数,其本质上是求解最优化问题。其使用格
6、式为x=lsqcurvefit(fun,x0,xdata,ydata其中,fun是要拟合的非线性函数,x0是初始参数,xdata,ydata是拟合点的数据,该函数最终返回系数矩阵。例题假设已知并已知该函数满足原型为 ,其中 为待定系数。在Matlab中输入以下命令x=0:.1:10;f=inline(a(1*exp(-a(2*x+a(3*exp(-a(4*x.*sin(a(5*x,a,x;%建立函数原型,则可以根据他来进行下面的求取系数的计算a,res=lsqcurvefit(f,1,1,1,1,1,x,y;a,res运行结果为ans =0.11970.21250.54040.17021.23
7、00res =7.1637e-007所求得的系数与原式中的系数相近。如果向进一步提高精度,则需修改最优化的选项,函数的调用格式也将随之改变。在Matlab中输入以下命令ff=optimset;ff.TolFun=1e-20;ff.TolX=1e-15;%修改精度,即是修改其限制条件a,res=lsqcurvefit(f,1,1,1,1,1,x,y,ff;%两个空矩阵表示系数向量的上下限a,res运行结果为ans =0.12000.21300.54000.17001.2300res =9.5035e-021下面绘图x1=0:0.01:10;y1=f(a,x1;plot(x1,y1,x,y,o(2
8、)lsqnonlin( lsqnonlin( 函数是另一种求最小二乘拟合的函数,其本质上是求解最优化问题最优化解。它的应用格式为x=lsqnonlin(fun,x0其中,fun的定义与lsqnonlin( 函数中fun的定义有差别, x0仍为初始参数向量,将输出的系数结果放在变量 中。说明lsqnonlin(函数的使用方法。首先编写目标函数 (curve_fun.mfunction 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 1
9、39 159 152 191 201 207 200;y=p(1*x./(p(2+x-y;再用lsqnonlin()函数求解,输入p,resnorm,residual=lsqnonlin(curve_fun,200,0.1运行结果为p =212.68360.0641resnorm =1.1954e+003residual =Columns 1 through 11 -25.43393.56615.8111-4.188911.3617-4.63835.684712.6847-0.1671-10.1671-6.0313Column 120.9687上面的两种方法都可以作非线性最小二乘曲线拟合(3)
10、非线性函数的线性化在进行非线性拟合时,以往由于计算机和相关软件水平有限,常常先把非线性的曲线拟合线性化,然后再进行拟合。下面比较一下先线性化再进行拟合和直接进行非线性拟合的差异。例题已知数据t0.250.511.523468c19.2118.1515.3614.1012.899.327.455.243.01满足曲线 通过数据拟合求出参数和 。方法一:先将非线性函数转化为线性函数编写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=pol
11、yfit(t,y,1运行结果为a =-0.23472.9943k=-a(1k =0.2347v=d/exp(a(2v =15.0219由此也可以求出相关系数。方法二:应用非线性拟合直接求解系数建立m文件:function f=curvefun3(x,tdatad=300f=(x(1d*exp(-x(2*tdata%x(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;x0=10 0.5;x=lsqcurvefit(curvefun3,x0,tda
12、ta,cdata运行结果为x =14.82120.2420下面绘图f=curvefun3(x,tdata;plot(tdata,cdata,o,tdata,f我们发现两种求法求出的系数很接近。(三)线性拟合和非线性拟合区别与联系在许多实际问题中,变量之间内在的关系并不想前面说的那样简单。呈线性关系,但有些非线性拟合曲线可以通过适当的变量替换转化为线性曲线,从而用线性拟合进行处理。对于一个实际的曲线拟合问题,一般先根据观测值在直角坐标平面上描出散点图,看一看散点的分布同哪类曲线图形接近,让后选用相接近的曲线拟合方程,再通过适当的变量替换转化为线性拟合问题,按线性拟合解出后再还原为原变量所表示的曲
13、线拟合方程。表1.1线性拟合方程变量变换变换后线性拟合方程Y=,Y=aY=aY=,Y=Y=例题测出一组实际数据 见下表 是对其进行函数拟合。X1.10521.22141.34991.49181.64783.6693Y0.67950.60060.53090.46930.41480.1546X1.82212.01382.22552.45962.7183Y0.36660.32410.28640.25320.2238x=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年墙纸设计与生产定制合同标准模板
- 2025版投标员实习期间职业道德教育合同
- 2025年健康养生中心经营管理合同范本
- 2025年度房抵工程款光伏组件生产项目合作协议
- 2025年度豪华学区二手房买卖协议
- 2025版全新杂物间租赁及物业管理服务合同文本
- 2025年度企业人才引进与委托培训一体化项目合同
- 2025年船舶保险与运输合同
- 2025二手楼赎楼担保与房产交易合同
- 癫痫的治疗(讲课)
- 购物中心突发事件或异常情况处理程序
- 安顺康闽果食品有限公司年产240吨年糕生产线建设项目环评报告
- 邹平梁邹矿业有限公司矿山地质环境保护与土地复垦方案
- 学校宿舍楼建筑装饰工程招标控制价编制技术经济分析
- 外脚手架监理实施细则
- 高考688个高频词汇 word版
- 氟化工艺课件
- 社会调查与统计第四章抽样
- 《国际结算(第五版)》第九章 跨境贸易人民币结算
- 2022年云南师范大学辅导员招聘考试试题及答案解析
评论
0/150
提交评论