- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于MATLAB最小二乘曲线拟合
基于MATLAB最小二乘曲线拟合
摘要:本文主要介绍了最小二乘曲线拟合方法的基本思路,并通过编制MATLAB程序对测量数据进行了一阶拟合和二阶拟合,实现了拟合多项式系数的求解。
关键词:曲线拟合 最小二乘 多项式拟合
Least-Square Curve Fitting Method Based on MATLAB
SHI Xin1, SHI Sen2, HE Chang-zheng3
(1. Beijing Global Information Application and Development Center, Beijing 100094; 2. Ericsson (China) Communications Company Ltd., Beijing 100102;
3. Beijing HT Horizon Technology Service Co., Ltd., Beijing 100026)
Abstract: Least-Square curve fitting method was introduced in this paper, and the measured data was fitted with the MATLAB program, which realized solving the polynomial coefficient.
Key words: Curve fitting, Least-Square, Polynomial fitting
1 引言
在工程科学计算中经常要建立实验数据的数学模型。给定函数的实验数据,需要用比较简单和合适的函数来逼近(或拟合)实验数据。逼近离散数据的基本方法就是曲线拟合,常采用最小二乘拟合。用MATLAB对实验数据进行最小二乘拟合,能较准确地标记实验数据点和绘出拟合曲线[1]。
2 最小二乘曲线拟合
曲线拟合问题的数学描述是,已知一组(二维)数据 , , 互不相同,寻求一个函数(曲线) ,使 在某种准则下与所有数据点最为接近,即曲线拟合得最好。
线性最小二乘法是解决曲线拟合问题最常用的方法,基本思路是,令
(1)
其中 是一组事先选定的线性无关的函数, #61472;是一组待定系数。寻求系数 使得 与 的距离 的平方和最小。这种准则称为最小二乘准则,其求系数 的方法称为线性最小二乘拟合方法。
2.1系数 #61472;的求法
若记
(2)
则 为 的二次函数。由数学分析(或高等数学)的极值理论, 达到最小的充分必要条件是 满足 。于是得到求使 达到最小的 的方法是求解线性方程组(称为法方程组)
, ,
即求解线性方程组
,(3)。
若记
, , ,
则方程组(3)可表示为
(4)。
由于当 线性无关时, 列满秩, 可逆,所以方程组(4)有唯一解 。
用(1)作线性最小二乘拟合的误差通常考虑以下两种形式:
最小平方误差:;
最大偏差: 。
2.2 函数组#61472; 的选取
面对一组数据 , ,用线性最小二乘法作曲线拟合时,首要的、也是关键的一步是恰当地选取 。如果通过机理分析,能够知道 与 之间应该有什么样的函数关系,则 容易确定。若无法知道 与 之间的关系,通常可以将数据 作图,直观地判断应该用什么样的曲线去作拟合。人们常用的曲线有
(i)直线 ;
(ii)多项式(一般 ,不宜太高);
在实际计算过程中,面对一组已知数据,到底用什么样的曲线拟合最好,可以在直观判断的基础上,选几种曲线分别拟合,然后比较,看哪条曲线的最小二乘指标 最小。
3 MATLAB程序实现
MATLAB是一个高级的数值分析处理与计算软件[2],求解矩阵方程非常方便。MATLAB提供的polyfit函数用来计算多项式拟合系数,其设定曲线拟合的目标是最小方差,即最小二乘法[3]。
现有一测量数据文件“datafile”,如表1所示:
该数据文件第一列表示观测时间(s),第二列是表示距离观测量(m),现要求解距离观测量与观测时间之间的函数关系。采用MATLAB编写求解多项式拟合系数的程序清单如下:
for fitnum=1:2%拟合阶数,可以根据需要设置
aa=load(datafile);%加载测量数据文件
%%拟合并计算拟合残差
[RowNum,ColNum]=size(aa);
para=polyfit(aa(:,1),aa(:,2),fitnum);
y = polyv
原创力文档


文档评论(0)