基于Matlab的曲线拟合(3)

2021-01-20 20:13

基于Matlab的曲线拟合

最小二乘法

在许多科学研究实验中,往往要根据一组得到的确定实验数据(xi,yi)(i=0,1,2,…,m),求自变量x与因变量y的函数关系式y = S(x;a0,a1, a2,…,an)(n<m),这时ai为待定参数,由于观测数据存在误差,且待定参数ai的数量比给定数据点的数量少(即n<m),这类问题不要求y =S(x)= S(x;a0,a1, a2,…,an)通过点(xi,yi)(i=0,1,2,…,m),只要求在给定点xi上的误差 i=f(xi)- yi

m

的平方和 i2最小。

设 0(x), 1(x),…, n(x)是区间C[a,b]上线性无关函数族,在 =span{ 0(x),

i 0

[4]

1(x),…, n(x)}中找到一函数S(x),使误差平方和

m

m

2i

i

m

|| ||=

22

= [s(x

i 0

i 0

) yi]

2

=min

S(x)

[s(x

i 0

i

) yi]

2

其中s(x)= a0 0(x) + a1 1(x) + … + an n(x) (n<m)。这就是最一般的小二乘逼近,得到的拟合曲线为s(x),用几何语言说,就称为曲线拟合的最小二乘法[5]。

曲线拟合的Matlab实现

例:已知数据如下表1

表1 待拟合数据

试确定拟合函数f(x) a bx c sinx d ex的系数,并画出拟合曲线。 用Matlab求解曲线拟合问题的方法有很多种,可以直接调用Matlab函数,也可以按照算法进行编程,最简单的方法便是使用Matlab为用户提供的工具箱。下面只介绍用Matlab函数与工具箱求解上例。 方法一:用lsqcurvefit函数实现曲线拟合

Matlab为用户提供了lsqcurvefit函数实现最小二乘拟合,调用格式如下: x=lsqcurvefit(fun,x0,xdata,ydata);

fun为拟合函数,(xdata,ydata)为一组实验观测数据,满足ydata = fun(xdata,x),以x0为初始点求解改数据拟合问题。


基于Matlab的曲线拟合(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:万科上海区域新项目定位分级评审制度

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: