1 / 7
文档名称:

matlab实现非线性曲线拟合最小二乘法.doc

格式:doc   大小:74KB   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

matlab实现非线性曲线拟合最小二乘法.doc

上传人:dongmengguoji 2019/11/8 文件大小:74 KB

下载得到文件列表

matlab实现非线性曲线拟合最小二乘法.doc

文档介绍

文档介绍:非线性曲线拟合最小二乘法一、问题提出设数据(),(i=0,1,2,3,4).由表3-1给出,表中第四行为,可以看出数学模型为,用最小二乘法确定a及b。      二、理论基础根据最小二乘拟合的定义:在函数的最佳平方逼近中,如果f(x)只在一组离散点集{,i=0,1,…,m},上给定,这就是科学实验中经常见到的实验数据{(),i=0,1,…,m}的曲线拟合,这里,i=0,1,…,m,要求一个函数与所给数据{(),i=0,1,…,m}拟合,若记误差,i=0,1,…,m,,设是上线性无关函数族,在中找一函数,使误差平方和,这里(n<m)这就是一般的最小二乘逼近,用几何语言来说,就称为曲线拟合的最小二乘法。在建模的过程中应用到了求和命令(sum)、求偏导命令(diff)、化简函数命令(simple)、用迭代方法解二元非线性方程组的命令(fsolve),画图命令(plot)等。三、实验内容用最小二乘法求拟合曲线时,首先要确定S(x)的形式。这不单纯是数学问题,还与所研究问题的运动规律及所得观测数据()有关;通常要从问题的运动规律及给定数据描图,确定S(x)的形式,并通过实际计算选出较好的结果。S(x)的一般表达式为线性形式,若是k次多项式,S(x)就是n次多项式,为了使问题的提法更有一般性,[a,b]上的权函数,它表示不同点处的数据比重不同。用最小二乘法求拟合曲线的问题,就是求形如S(x)的一个函数,使取得最小。它转化为求多元函数的极小点问题。再由求多元函数极值的必要条件,有(k=0,1,…,n)此题中假设,由已知所给数据点()画出图形,根据离散点的位置观察出它们所拟合的曲线图形应类似于指数函数的曲线图形,故设拟合曲线的函数为。本题编程过程中,令f=y,z1=a,z2=b,令拟合曲线中对应的函数值与的差的平方和为J,即J=sum(fy.^2);分别求J关于z1,z2的偏导,简化后并令其分别为0得一关于z1,z2的二元非线性方程组,最后利用fsolve命令求得z1,z2的值分别为z1=  z2=,我们将离散点()与所得的拟合曲线画于同一图形中,图形如下:四、结果分析根据实验内容求得拟合曲线中未知数a,b分别为a=  b=。由图形知拟合成功!参考文献1·《数值分析》,李庆扬,王能超,易大义,2001,清华大学出版社(第四版)。2·《数值方法》,关治,陆金甫,2006,清华大学出版社。3·《数值分析与实验学****指导》,蔡大用,2001,清华大学出版社。4·《数值分析与实验》,薛毅,2005,:symsz1z2x=::;y=[,,,,];f=z1*exp(z2.*x)fy=f-y;J=sum(fy.^2);Ja=diff(J,z1);Jb=diff(J,z2);Ja1=simple(Ja),Jb1=simple(Jb),程序2:function[y1,y2]=fun(z)y1=2*z(1)*exp(