教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 教育文库 >

MATLAB中三个适于数据拟合命令的比较分析

来源:网络收集 时间:2026-08-31
导读: 第30卷第6期大庆师范学院学报 JOURNALOFDAQINGNORMALUNIVERSITY Vol.30No.6 2010年11月November,2010 MATLAB中三个适于数据拟合命令的比较分析 杨 洪,林大伟,张宏礼 (黑龙江八一农垦大学文理学院,黑龙江大庆163319) 摘lsqnonlin()、lsqcurvefit(

第30卷第6期大庆师范学院学报

JOURNALOFDAQINGNORMALUNIVERSITY

Vol.30No.6

2010年11月November,2010

MATLAB中三个适于数据拟合命令的比较分析

洪,林大伟,张宏礼

(黑龙江八一农垦大学文理学院,黑龙江大庆163319)

摘lsqnonlin()、lsqcurvefit()进行了研究,要:对基于最小二乘法的三个适于数据拟合的命令nlinfit()、并给出了一

研究结果对我们在具体实践操作中根据目的的不同些应用实例。通过实例对这三个命令的异同进行了比较分析,

选择合适的数据拟合方法,快速、准确地解决数据拟合问题,建立变量之间的数学模型具有一定的指导意义。关键词:Matlab;数据拟合;最小二乘法

作者简介:杨洪(1980-),女,内蒙古鄂伦春旗人,黑龙江八一农垦大学文理学院教师,从事应用数学教学研究。基金项目:黑龙江省高等学校教学改革工程项目:信息与计算科学专业课程体系的建设与应用型人才培养的研究。中图分类号:O174

文献标识码:A

文章编号:2095-0063(2010)06-0058-04

收稿日期:2010-04-25

0引言

在科学数据的处理过程中,常常需要建立变量之间的数学模型。所建立的数学模型往往是非线性的,

因为在实际应用中非线性模型常常比线性模型更能反映变量之间的关系。数据拟合是一种重要的建立变量之间数学模型的方法,其求解方法通常是对给定的含有待定参数的数学模型应用最小二乘法求解。随

非线性数据拟合问题越来越受到重视。着研究的不断深入,

1基于最小二乘法的数据拟合

在Matlab下有三个适于数据拟合的命令,它们分别是统计工具箱下的nlinfit()、优化工具箱下的

[1]

lsqnonlin()、优化工具箱下的lsqcurvefit(),这三个命令都依据最小二乘法求解。最小二乘法一般是求解最小二乘问题,最小二乘问题就是对由若干个函数的平方和构成的目标函数求极小值的问题。目标函数一般可以写成

F(x)=∑f2i(x)

i=1m

x=(x1,x2,…xn)是集合E中的点,其中,一般m≥n。目标函数极小化可以表示成

minF(x)=∑f2i(x)

i=1△

m

n

i=1,2,…m中至少有一个是x的非线性函数时,特别地,当fi(x),称为非线性最小二乘问题。

(k)

解这类问题的基本思想是,通过解一系列线性最小二乘问题求非线性最小二乘问题的解。设x是解

的第k次近似。在x(ATA)

-1

(k)

将函数fi(x)线性化。这样,把原来问题转化成线性最小二乘问题,然后运用公式X=

ATb(其中A是m×n矩阵,b是m维列向量)求出这个问题的极小点x(k+1),把它作为非线性最小二

(k+1)

乘法问题解的第k+1次近似。再从x出发,重复以上过程。最终应用线性最小二乘法问题逼近得到非线性最小二乘问题的解

[2]

2三个命令的算法原理、格式

2.1nlinfit函数的算法原理

[3]

nlinfit()实际上是非线性回归函数,一般用非线性最小二乘法确定回归方程中的系数,其基本算法是Guass-Newton法。

Guass-Newton法可以非常方便地求解最小二乘问题。在Guass-Newton法中需要求解牛顿方程

58

2(k)(k)f(x)d=f(x)

由Hesse矩阵

f(x)=

2

∑r(x)r(x)

i

i

i=1

m

T

i=1

m

T

+

i

∑r(x)r(x)

2

i

i

i=1

2i

m

=J(x)J(x)+

∑r(x)r(x)

2,…m),计算量大。为了简化计算,省略Hesse矩阵的第二项,即求可知,这里需要计算ri(x)(i=1,解方程组

J(x(k))TJ(x(k))d=-J(x(k))Tr(x(k))

得d(k),然后置

x(k+1)=x(k)+d(k)

[4]

这样就得到了Guass-Newton法。2.2lsqnonlin函数的算法原理及格式

该函数主要的算法是Guass-Newton法和Levenberg-Marquardt法。lsqnonlin函数求解非线性数据拟合问题,lsqnonlin函数还需不仅仅要计算目标函数f(x)(平方和),要用户指定函数来计算向量值函数

fi(x)

F(x)= f2(x)

f3(x)

然后,将优化问题重新写成向量的形式:

112

min‖F(x)‖2-x22x为一向量,F(x)为一返回向量值的函数。式中,

用lsqnonlin函数求解数据拟合问题,其调用格式为:x=lsqnonlin(fun,x0)x=lsqnonlin(fun,x0,lb,ub)x=lsqnonlin(fun,x0,lb,ub,options)

x=lsqnonlin(fun,x0,lb,ub,options,P1,P2,…)[x,resnorm]=lsqnonlin(...)

[x,resnorm,residual]=lsqnonlin(...)[x,resnorm,residual,exitflag]=lsqnonlin(...)[x,resnorm,residual,exitflag,output]=lsqnonlin(...)

∑f(x)

ii

2

[x,resnorm,residual,exitflag,output,lambda]=lsqnonlin(...)

[x,resnorm,residual,exitflag,output,lambda,jacobian]=lsqnonlin(...)

2.3lsqcurvefit函数的算法原理及格式

lsqcurvefit函数的基本算法与lsqnonlin函数基本相同。同样是应用了Guass-Newton法和Levenberg-Marquardt法。

lsqcurvefit解决非线性数据拟合问题的数学模型为

1minxdata)-ydata‖2‖F(x,2=x2

xdataa)∑(F(x,

i

i=1m

-ydataai)

2

F(x,xdata)为向量值函数。其中xdata和ydata为向量,

用lsqcurvefit函数求最小二乘意义上的非线性数据拟合问题。即根据输入数据xdata和得到的输出

xdata)最佳的拟合系数。数据ydata,找到与方程F(x,lsqcurvefit求解非线性数据拟合问题。lsqcurvefit需要一个用户定义函数来计算向量值函数F(x,xda-ta)。用户定义的函数的向量的大小必须与ydata的大小相同。

该函数的调用格式为:

x=lsqcurvefit(fun,x0,xdata,ydata)x=lsqcurvefit(fun,x0,xdata,ydata,lb,ub)x=lsqcurvefit(fun,x0,xdata,ydata,lb,ub,options)[x,resnorm]=lsqcurvefit(...)

x,resnorm,residual]=lsqcurvefit(...)[

[x,resnorm,residual,exitflag]=lsqcurvefit(...)[x,resnorm,residual,exitflag,output]=lsqcurvefit(...)

59

[x,resnorm,residual,exitflag,output,lambda]=lsqcurvefit(...)

[x,resnorm,residual,exitflag,output,lambda,jacobian]=lsqcurvefit(...)

3nlinfit、lsqnonlin和lsqcurvefit命令的实例比较

(k)nilinfit()函数是应用了Guass-Newton法进行求解的,在Guass-Newton法中,当J(x)的各列是线

(k)T(k)

那么求解线性方程组就会出现性相关,或接近线性相关,换句话说,矩阵J(x)J(x)奇异或是病态的,

而lsqnonlin命令是基于Guass-Newton法和Levenberg-Marquardt法进行求解。从而利用Lev-一点困难,

enberg-Marquardt法设置参数即可完成。已知数据如表1所示

表1数据表

xy

0.0276

0.0247< …… 此处隐藏:4343字,全部文档内容请下载后查看。喜欢就下载吧 ……

MATLAB中三个适于数据拟合命令的比较分析.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1810343.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)