最小二乘法matlab多项式拟合

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

最小二乘法拟合探究吴春晖(中国海洋大学海洋环境学院山东青岛266100)摘要:本文的拟合对象为含多个变量的待定系数的多项式。通过最小二乘法对多项式作出拟合,以向量矩阵的形式来解出待定的系数。在matlab中,通过算法,写出具体的解法。之后,先对最小二乘法的准确性作出检验,分析该方法在应对复杂情况的误差。在检验该方法的可行性之后,对给定的变量值进行拟合与解题。同时,本文将对基于Laguerre多项式的最小二乘法进行分析检验,关键词:最小二乘法拟合多变量Laguerre多项式引言:在之前的计算方法中,在给出已知节点后,如果需要根据给出的节点来确定未知节点的值,我们需要运用插值。在对插值的精准性进行分析后,我们发现不同插值方式的误差都极大,而且插值所得出的函数的特征由插值方式所决定,并不能反映具体的节点原来可能的规律与分布。所以,拟合的方法相比插值而言,并不要求函数值在原节点处的值相等,却能在一定程度上反映原函数的规律。在该文中,我们主要运用最小二乘法进行拟合。目录第一章matlab最小二乘法拟合程序......................................................................................31.1最小二乘法拟合的数学法........................................................................................31.2编写最小二乘法的matlab拟合程序...........................................................................31.2.1程序算法..................................................................................................................31.2.2最小二乘法拟合的程序.........................................................................................41.3程序的分析说明.............................................................................................................4第二章最小二乘拟合法的检验及应用...................................................................................52.1最小二乘法拟合的检验................................................................................................52.2最小二乘法拟合的实际应用.........................................................................................7第三章Laguerre多项式的最小二乘拟合..............................................................................83.1算法与程序....................................................................................................................83.2检验与分析.....................................................................................................................9第四章最小二乘法拟合的分析总结...................................................................................11第一章matlab最小二乘法拟合程序1.1最小二乘法拟合的数学方法最小二乘法拟合的算法如下:对于给定的一组数据(,)iixy,1,2,,iN求t()tN次多项式0jtijyax使总误差210()jNtiiijQyax最小.由于Q可以视作关于ia(0,1,2,,)it的多元函数,故上述拟合多项式的构造可归结为多元函数的极值问题.令0,0,1,2,,kQkta得到10()0,0,1,2,,Ntjkijiiijyaxxkt即有方程组0121011201titiitiitiiittttiitiiiaNaxaxyaxaxaxxyaxaxaxxy求解该正规方程组,即可得到最小二乘法的拟合系数。1.2编写最小二乘法的matlab拟合程序1.2.1程序算法在最小二乘法的数学算法的基础上,对算法进行优化,给出具体的程序算法。由线性代数的知识,易知可将每一组变量表现为在一个多维空间的向量。故对于基本方程组而言,无解即代表由多个变量所确定的多维空间的集合中,无法找到Y值的向量。在只有两个变量的情况下,即为Y的向量到平面的最短距离的向量与转置的自变量向量的向量积为0.所以我们可以建立两个矩阵,一个代表Y向量,另一个代表X向量。通过循环求得代表X向量的每个变量的在确定的位置的转置与另一变量的向量积,另一变量为Y或X向量。之后利用左除法解出待定的系数,即得到了我们要知道的具体的函数。然后通过符号变量,对给定的x值进行运算,并给出拟合值。1.2.2最小二乘法拟合的程序在这里,我们选取了特定的含二次幂,一次幂,常数及负一次幂的多项式进行拟合,每一系数对应一个不同的变量。具体的程序代码如下:x=[1211];x1=[2423];x2=[3653];y=[61477];vec_1=x.^-1;vec_2=x1.^2;vec_3=ones(1,length(x));vec_4=x2%length(x)=length(x1)matrix=zeros(4,4);yx=zeros(1,4);forj=1:4matrix(1,j)=eval(['sum(vec_',num2str(j),'.*(x.^(-1)))'])matrix(2,j)=eval(['sum(vec_',num2str(j),'.*(x1.^2))'])matrix(3,j)=eval(['sum(vec_',num2str(j),'.*1)'])matrix(4,j)=eval(['sum(vec_',num2str(j),'.*x2)'])yx(j)=eval(['sum(vec_',num2str(j),'*y)'])endsolve=matrix\yx';symsxv;symsw;symssabcd;f=a*x^(-1)+b*w^2+c*1+d*s;out=0;in=double(in);in=[123solve(1)solve(2)solve(3)solve(4)];formatlong;out=double(subs(f,[xwsabcd],in));1.3程序的分析说明在程序的开头,是输入x与y值,变量的个数与幂次由输入决定。之后程序会自动进行运算,给出所要求的每个变量的所对应的系数值。之后求得的拟合函数表现为符号变量的形式。程序的适用性较好,通过符号变量能直接输出需要求的拟合曲线。程序也存在可以改进的地方,比如可以将整个解法优化为一个函数,对输入的变量,直接进行处理。另外程序的循环算法的效率不高。代码较多。第二章最小二乘拟合法的检验及应用2.1最小二乘法拟合的检验在上文所给出的拟合程序自带检验部分,分别输入原值与随机的几组数据来进行验证。图2.1.1最小二乘法的原变量检验(4个点)Fig.2.1.1Lagrangeinterpolationnodesofinterpolation(for4)我们加大原变量的拟合个数。共有8组数据,得到的拟合曲线如下。-20246810121416181234最小二乘法的原变量检验(4个点)原值拟合值误差图2.1.2最小二乘法的原变量检验(8个点)Fig.2.1.2Lagrangeinterpolationnodesofinterpolation(for8)从上述原变量检验的结果来看,最小二乘法能较好的拟合出符合原函数规律的区间值。我们给出一系列由符合标准形式函数所构造的略微偏离原值的变量组,来进行检验。为了实现结果的直观性,保留一个单变量。构造的函数为x^2+x+1.y值离原函数值在1的范围内波动,取2,4,10,100,1000组自变量值,并绘制出图像进行比较,来检验最小二乘法的准确性。拟合得出的该二次项的系数随自变量的组数发生变化,见24101001000二次项值0.86080.99120.99971.00001.0000一次项值1.24070.96900.97120.99901.0000常数项值1.81520.97901.02801.07380.9950表2.1.1拟合系数随自变量组数变化的规律Table2.1.1fittingcoefficientwiththenumberofsetsofindependentvariables-4-2024681012141612345678最小二乘法拟合的原变量检验(8个点)原值拟合结果误差图2.1.3拟合系数随自变量组数变化的规律Table2.1.3fittingcoefficientwiththenumberofsetsofindependentvariables分析总结:从以上单变量与多变量的多项式的检验结果看,拟合在体现原函数潜在的规律上,具有较好的表现。对于单变量的多项式,在检验中,我们通过随机函数,使因变量在原函数附近波动。随着自变量组数的增多,拟合的结果越来越接近原函数,当自变量达到一个较大数值时,拟合所得曲线基本等于原函数。对于多变量的最小二乘法拟合,原理与单变量基本类似,我们所采取的用向量来表示正规方程组的方式同样适用于多变量。只需要改变列向量的数值,使其等于某变量的二次项的值。之后用右除法来解出各项的系数。2.2最小二乘法拟合的实际应用选取《计算方法引论》上的P65的第3小题,并加以改进为:用最小二乘原理,求一个形如y=a+b*x^2+c*x的经验公式,使其与下列数据相拟合。x1925313844y19.032.349.073.397.8表2.2.1拟合数据表Table.2.2.1thedatatable运用之前的程序进行拟合,得到的2次项系数为0.0497,常数项系数为0.6882,一次项系数为0.0193.所得的拟合图线与拟合的节点吻合得较好。00.20.40.60.811.21.41.61.8224101001000二次项值一次项值常数项值图2.2.2拟合曲线Figure.2.2.2Fittingcurve对二次拟合方法进行简单应用后,我们发现该方法所得的拟合函数与原值吻合得较好。证明最小二乘法在实际运用中能发挥较大的作用。第三章Laguerre多项式的最小二乘拟合3.1算法与程序正交多项式的最小二乘法的拟合,主要改变的是各项的表达式,使其具有较好的独立性,随着项数的增加,能较好地逼近原函数。故整体算法与之前相仿,求各项系数的方法不变。由于项数是可以改变的,所以要设置项数,及多组符号变量,来使程序简洁。求正交多项式,也应用符号变量表示,注意常数项的特殊情况。故程序如下symsxf;symsl;m=3;data=[192

1 / 13
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功