基于matlab的最小二乘法应用_第1页
基于matlab的最小二乘法应用_第2页
基于matlab的最小二乘法应用_第3页
基于matlab的最小二乘法应用_第4页
基于matlab的最小二乘法应用_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上基于matlab非线性曲线最小二乘拟摘要:在工程计算与科学研究中,常常需要从一组测量数据出发,寻找变量x与y的函数关系式,有时很难找出他们之间精确地函数表达式,这时就要观察所给数据值,利用最小二乘曲线拟合来构造一个近似的解析式。利用这种方法拟合出的曲线虽然不能保证通过所有的数据点,但是很好的逼近它们,从而充分反映已知数据间内在的数量关系。因此这种方法在科学实验和生产实践中具有广泛的应用前景。一般构造的方法有很多,本文先介绍了最小二乘法的原理,并通过实例用matlab实现了曲线的拟合以得到函数关系的方法和步骤。通过不同的经验公式得到不同的的拟合结果,并分析其结果。关键字

2、:最小二乘法 matlab 曲线拟合1 前言在现代科学研究中, 物理量之间的相互关系通常是用函数来描述的。有些函数关系是由经典理论分析推导得出的, 这些函数关系不仅为我们进一步的分析研究工作提供了物理的理论基础,也使我们可以十分方便的运用丰富的数学知识来解决物理问题。在现实的物理研究过程中, 有一些问题很难由经典物理理论推导出物理量的函数表达式, 或者推导出的表达式十分复杂, 不利于进一步的分析。但由于研究需要, 又很希望能得到这些量之间的函数关系, 这时就可以利用曲线拟合的方法,用实验数据结合数学方法得到物理量之间的近似函数表达式。2 最小二乘法原理在函数的最佳平方逼近中,如果只在一组离散数

3、据点集,上给出,这就是科学实验中经常见到的实验数据(),的曲线拟合,这里(),要求一个函数与所给数据(),拟合,若误差(),设上线性无关函数族,在,使得误差平方和 (2-1)这里 n<m (2-2)这就是一般的最小二乘逼近,用几何语言说,就称为曲线拟合的最小二乘法1。用最小二乘法求拟合曲线时,首先要确定S(x)的形式。这不单纯是数学问题,还与所研究问题的运动规律及所得观测数据()有关;通常要从问题的运动规律及给定数据描图,确定S(x)的形式,并通过实际计算选出较好的结果。S(x)的一般表达式为线性形式,若是k次多项式,S(x)就是n次多项式,为了使问题的提法更有一般性,通常在最小二乘法中

4、都考虑为加权平方和 (2-3)这里是a,b上的权函数,它表示不同点处的数据比重不同一般取值为1.用最小二乘法求拟合曲线的问题,就是求形如S(x)的一个函数,使取得最小。它转化为求多元函数 (2-4)的极小点问题。再由求多元函数极值的必要条件,有 (k=0,1,n)若记 (2-5) 上式可改写成 (2-6)这个方程成为法方程,可写成距阵形式 (2-7)其中 (2-8)它的均方误差为: (2-9)最大偏差为: (2-10)3 问题描述在化学反应中,由实验测得分解物浓度与时间的关系如下表2所示表2 浓度(y)与时间( x )的关系实验数据表x0510152025y01.272.162.863.443

5、.87x303540455055y4.154.374.514.584.624.64(1)试画出以上数据的散点图;(2)根据数据的变化趋势,使用合适的经验公式拟合以上数据,求出偏差和均方误差,并说明优劣。4 问题求解及分析过程由所给的实验数据点通过orgin软件做出如图1所示的散点图,从图中可以 图1.分解物浓度与时间的散点图及问题的物理背景可以看出,拟合曲线应具有如下特点:曲线随时间的增加而上升,但上升速度由快到慢。当x=0时反应尚未开始,即y=0当x时,y趋于某一常数。故曲线应通过原点,且有一水平渐近线。具有这两种特点的曲线有很多,悬着不同的数学模型可以后的不同的拟合曲线和经验公式本文提供如

6、下两种方案。方案一:设想具有指数形式 (4-1)在求解参数a和b时,为了避免求解一个非线性方程组,对上式两边取对数方程变为: (4-2)引入新的变量,并记上式变为,此时的问题就转化为求形如的最小二乘解。运用matlab语言编写计算和画图程序,程序一见附录部分2。运算的结果:a=5.2151,b=-7.4962。最大偏差,均方误差。故拟合的曲线为: (4-3)拟合的曲线图形如图2所示:图2. 方案二:设想是双曲线型的,具有下面的形式: (4-4)此时如直接按最小二乘原则来确定参数a和b的值,问题则归结为求二元函数的极小点,这将导致要求解非线性方程组,从而给计算带来麻烦,我们可以通过变量替换将其转

7、化为关于求解待定参数的线性函数。为此将(4-3)式转化为 (4-5)引入新变量,方程变为: (4-6)问题同样转变为求解形如的最小二乘解。同样运用matlab语言来编写其计算和作图的程序,其程序见附录第二部分。计算结果。此种方案的拟合曲线方程为 (4-7)拟合曲线图形见图3所示:图3.把两种方案的所得到的经验方程(4-3)和(4-7)进行比较见表4-1,从最大偏差和均方误差这两个角度来看前者优于后者。表4-1经验公式最大偏差均方误差式(4-3)0.30440.5811式(4-7)3.01104.1074因此在解决实际问题时,常常要经过反复的分析,多次选择、计算与比较,最终才能得到较好的数学模型

8、。5 参考文献1 李庆扬,王能超,易大义.数值分析M.北京:清华大学出版社,2008.2郑阿奇,曹戈。Matlab实用教程M.北京:电子工业出版社,2007.6 附录程序1:x=5 10 15 20 25 30 35 40 45 50 55;y=1.27 2.16 2.86 3.44 3.87 4.15 4.37 4.51 4.58 4.62 4.64; Y=log(y);X=1./x; a=polyfit(X,Y,1); B=a(1);A=a(2); b=B,a=exp(A), X=0:1:55; Y=a*exp(b./X); f=a*exp(b./x);plot(x,y,'r*&#

9、39;,X,Y,'b-'), xlabel('x'),ylabel('y')legend('数据点(xi,yi)','拟合曲线y=f(x)')title('数据点(xi,yi)和拟合曲线y=f(x)的图形')fy=abs(f-y); fy2=fy.2; Ew=max(fy), E1=sum(fy), E2=sqrt(sum(fy2)程序2:x=5 10 15 20 25 30 35 40 45 50 55;y=1.27 2.16 2.86 3.44 3.87 4.15 4.37 4.51 4.58 4.62 4.64; Y=1./y;X=1./x; a=polyfit(X,Y,1); B=a(1);A=a(2); b=B,a=A X=0:1:55; Y=X./(a*X+b); f=x/(a*x+b);plot(x,y,'r*',X,Y,'b-'), xlabel('x'),ylabel('y')legend(

温馨提示

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

评论

0/150

提交评论