第一范文网 - 专业文章范例文档资料分享平台

最小二乘法matlab多项式拟合

来源:用户分享 时间:2025/8/13 7:10:46 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

for i=1:m

eval(['vec_',num2str(i),'=subs(l(i),x,data)']) end

vec_1=ones(1,length(data)); % vec_2=data;

% vec_3=ones(1,length(data)); %length(x)=length(x1) matrix=zeros(m,m); yx=zeros(1,m);

out=zeros(m,length(data));

for i=1:m for j=1:m

matrix(i,j)=eval(['sum(vec_',num2str(j),'.*vec_',num2str(i),')'])

%可写成两层循环

yx(j)=eval(['sum(vec_',num2str(j),'.*y)']) end end

solve=matrix\\yx'; for k=1:m

f(k)=l(k)*solve(k)

out(k,:)=subs(f(k),x,data) end

values=sum(out,1); fun=sum(f,2);

3.2检验与分析

我们先选取比较有规律的自变量与因变量,为data=[19 25 31 38 44],y=[19 25 31 38 44],x与y呈正比关系,对这些节点作基于Laguerre多项式的二次拟合。设项数为3,解得的系数分别对应为1.000000000000145,-0.999999999999990,3.492540352537980e-16,拟合的值在原节点相等。见图3.2.1。

图3.2.1拟合点为直线上点时的拟合曲线

Figure.3.2.1 When fitting point for straight line point of curve fitting

在完成一个比较简单的检验后,我们构造无序的自变量与因变量各一组,其值均为0~100随机数。对其进行基于Laguerre多项式的最小二乘拟合,改变项数,来观察拟合的情况。下面4幅图分别是项数为3,10,20,50所对应的拟合曲线图。

图3.2.2 拟合项数分别为3,10,20,50时的拟合曲线

Figure.3.2.2Fitting a count of 3,10,20,50 fitting curve respectively

观察拟合的曲线,随着项数的增加,拟合的精准程度越来越高。在项数为20时,误差为10^-5数量级,50时,误差的数量级为10^-9数量级。但随着项数的增多,在项数较大时,拟合的曲线震荡较为明显。在一定程度上,缺乏美感与规律性。

总的来说,基于正交多项式的最小二乘法,随着项数的增加,在一定的程度内,拟合的结果越来越好。但当项数持续增大,拟合的结果接近插值,也出现了插值存在的问题,震荡与波动较大。在利用正交多项式时,要选好项数。

第四章最小二乘法拟合的分析总结

本文中,我们运用matlab编写了在不同情况下的最小二乘法拟合程序。在拟合项为单变量,多变量及正交多项式的情况下,用最小二乘法拟合。这些情况下的拟合有一个共同点,即求各项前的系数。而附中的调和分析,并不是严格意义上的多项式,是三角函数的拟合,它的算法程序会有所不同,按照最小二乘法的标准做法解调和常数。在求各项前系数时,可以利用矩阵与向量将过程简化,具有普适性

最小二乘法的特点是拟合,允许与原值有误差,尽可能体现曲线的规律,如分布在一条曲线附近。在单变量的多次项的拟合中,拟合值在标准函数附近波动。当拟合值增多时,拟合的系数值越来越逼近标准值。多变量的拟合,也会在多维空间,接近某条特定曲线,由于变量维数较多,无法较好展示。

单变量与多变量的拟合中,各项决定了曲线的基本面貌。在项数较少时,原值与拟合值的误差会变大。如果增大项数,合适的项数选择较为困难。所以在最后我们又应用了基于Laguerre多项式的拟合多项,可以形成无限多的拟合项。但当拟合项过多时,曲线的震荡会越来越剧烈。对100内的随机数拟合中,在拟合项在20左右,拟合结果都会比较理想,误差也在10^-5数量级。50时,毛刺过多,可能滤波平滑处理后,能得到较好的拟合曲线。对于其它正交多项式,规律相似。

拟合项的选择,对最小二乘法极为重要。在调和分析时,已知三角函数,拟合的结果变

会相对准确。如果给出没有规律的多组数,正交多项式拟合是较好的方法。但要注意质量控制,不能一味增加项数。

总之,最小二乘法,作为通用且较好用的拟合方法,有很大的研究与实用价值。

参考文献

[1] 徐萃薇,孙绳武.计算方法引论.北京:高等教育出版社,2015 [2] 郑成德。数值计算方法.北京:清华大学出版社,2010

Abstract:

In this paper, the given function with a given domain [1, 1] for a variety of interpolation, including Hermite interpolation, though laser interpolation, cubic spline interpolation, the piecewise linear interpolation, etc.Interpolation is mainly composed of matlab, by writing multiple interpolation function to calculate, optimization and comparison interpolation by the main program.Research on the accuracy of the interpolation, mainly from the from the original interpolation nodes on the effect of interpolation and the accuracy of the interpolation function.Take different interpolation nodes, the interpolation accuracy of evaluation under the take again.The accuracy of the interpolation function mainly from the perspective of the following considerations: computing interpolation function and integral function difference;Computing the interpolation function and the function interpolation of variance and mean.

Keywords: multivariate Laguerre polynomial least squares fitting

附 调和分析matlab程序(个人计算机运算耗时太长,尚未解出)

syms a0 a1 a2 a3 a4 w1 w2 w3 w4 s1 s2 s3 s4 y sda0 sda1 sda2 sda3 sda4 sdw1 sdw2 sdw3 sdw4 sds1 sds2 sds3 sds4 t;

f=a0+a1*cos(w1*t+s1)+a2*cos(w2*t+s2)+a3*cos(w3*t+s3)+a4*cos(w4*t+s4); w=y-f; f='f1';

name={'a0' 'a1' 'a2' 'a3' 'a4' 'w1' 'w2' 'w3' 'w4' 's1' 's2' 's3' 's4'}; name_v=struct(f,name); x=; z=;

for i=1:13

oo=name_v(i).f1;

搜索更多关于: 最小二乘法matlab多项式拟合 的文档
最小二乘法matlab多项式拟合.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c6grpe3qujt7e16h2fbxf_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top