非线性最小二乘法

非线性最小二乘法
非线性最小二乘法

非线性最小二乘法

最小二乘法的一般涵义

在科学实验的统计方法研究中,往往会遇到下列类型的问题:

设x,y都是被观测的量,且y是x的函数:

y=f(x;,…,) (2.1)

假设这个函数关系已经由实际问题从理论上具体确定,因而(2.1)可称为理论函数或理论曲线公式,但其中含有n个未知参数,…,。为了进一步确定

这n个参数,我们可以通过实验或观测来得到m组数据:

(,(,,…,(,(2.2)

根据(2.2)来寻找参数的最佳估计值,…,,即寻求最佳的理论曲线y=

f(x;,…,),这就是一般的曲线拟合问题,也可称为观测数据的平滑问题。在实际问题中我们经常遇到的一种曲线拟合问题是需要从观测数据(2.2)求出y和x的一个经验公式,而在曲线拟合时首先碰到的问题就是函数关系(2.1)的具体确定,然后才能进行参数估计。对于某些变量x,y之间已经有比较明确物理关系或关系简单的问题给出函数的具体表达式并不是太困难,但往往实际问题中所遇到的却是极为复杂的问题,要建立有效的表达式就有些困难了。我们所讨论的最小二乘问题都是建立在函数关系已知的基础上。

我们用残差作为拟合标准,此时

=-f(;,…,) (i=1,2,…,m)

简单记作

r=y-f(x;b)

这里,r=

b=

f(x,b)=

残差向量r的三种范数记作

=

=

=

残差可以表示拟合的误差,误差越小则拟合的效果越好。虽然取前两种范数

最小,比较理想和直观,但是它们不便于计算,因此在实际应用中是

取欧式范数最小,即求出参数b ,使得=min 这就是通常所谓的最小二乘法,几何语言也成为最小二乘拟合。

解非线性方程组的Newton 法

12(,,......,)01,2,......,j n f x x x j m =??=?

(1) 设其解为***12(,,......,)n x x x ,在其附近一点

00012(,,......,)n x x x 把j f 展成Taylor 展式: 0

0000001212121(,,...,)(,,...,)()(,,...,)n j n j n

k k j n j k k f x x x f x x x x x f x x x R x =?=+-+?∑

2

0012,11()()(,,......)1,2,......,2n j l l k k j n l k l k R x x x x f j n x x ξξξ=?=--=??∑

忽略余项

j R 得到:0

00000012121(,,...,)()

(,,...,)01,2,...,n j n k k j n k k

f x x x x x f x x x j m x =?+-==?∑ 这是一组线性方程,它的解

111,......,n x x 作为解,系数矩阵式Jacobi 阵 111122221

2112(,...,)n n n m m m n f f f x x x f f f x x x J J x x f f f x x x ????? ???? ? ???? ????== ? ? ???? ? ??????

写成向量形式:

12(,,......,)j j j j n x x x x =,则上述线性方程组化为: 000()()()0f x J x x x +-=

当m n >时,上述方程为超定的,求其最小二乘解1x

10100()()x x J x f x -=-

其中1J -理解为广义逆,再迭代得:

11()()k k k k x x J x f x +-=-

MATLAB实现非线性曲线拟合最小二乘法

非线性曲线拟合最小二乘法 一、问题提出 设数据(i i y x ,),(i=0,1,2,3,4).由表3-1给出,表中第四行为i i y y =ln ,可以看出数学模型为bx ae y =,用最小二乘法确定a 及b 。 i 0 1 2 3 4 i x 1.00 1.25 1.50 1.75 2.00 i y 5.10 5.79 6.53 7.45 8.46 i y 1.629 1.756 1.876 2.008 2.135 二、理论基础 根据最小二乘拟合的定义:在函数的最佳平方逼近中],[)(b a C x f ∈,如果f(x)只在一组离散点集{i x ,i=0,1,…,m},上给定,这就是科学实验中经常见到的实验数据{(i i y x ,), i=0,1,…,m}的曲线拟合,这里)(i i x f y =,i=0,1,…,m,要求一个函数)(*x S y =与所给数据{(i i y x ,),i=0,1,…,m}拟合,若记误差 i i i y x S -=)(*δ,i=0,1,…,m,T m ),,(10δδδδ, =,设)(,),(),(10x x x n ??? 是] ,[b a C 上线性无关函数族,在)}(,),(),({10x x x span n ???? =中找一函数)(*x S ,使误差平方和 ∑∑∑===∈ -=-==m i m i m i i i x S i i i y x S y x S 0 2 )(2 * 2 22 ])([])([min ? δδ , 这里 )()()()(1100x a x a x a x S n n ???+++= (n

matlab最小二乘法的非线性参数拟合

matlab最小二乘法的非线性参数拟合 首先说一下匿名函数:在创建匿名函数时,Matlab记录了关于函数的信息,当使用句柄调用该函数的时候,Matlab不再进行搜索,而是立即执行该函数,极大提高了效率。所以首选匿名函数。具体拟合时可以使用的方法如下: 1 曲线拟合工具箱提供了很多拟合函数,使用简单 非线性拟合nlinfit函数 clear all; x1=[0.4292 0.4269 0.381 0.4015 0.4117 0.3017]'; x2=[0.00014 0.00059 0.0126 0.0061 0.00425 0.0443]'; x=[x1 x2]; y=[0.517 0.509 0.44 0.466 0.479 0.309]'; f=@(p,x) 2.350176*p(1)*(1-1/p(2))*(1-(1-x(:,1).^(1/p(2))).^p(2)).^2.*(x(:,1).^ (-1/p(2))-1).^(-p(2)).*x(:,1).^(-1/p(2)-0.5).*x(:,2); p0=[8 0.5]'; opt=optimset('TolFun',1e-3,'TolX',1e-3);% [p R]=nlinfit(x,y,f,p0,opt) 2 最小二乘法在曲线拟合中比较普遍。拟合的模型主要有 1.直线型 2.多项式型 3.分数函数型 4.指数函数型 5.对数线性型 6.高斯函数型 一般对于LS问题,通常利用反斜杠运算“\”、fminsearch或优化工具箱提供的极小化函数求解。在Matlab中,曲线拟合工具箱也提供了曲线拟合的图形界面操作。在命令提示符后键入:cftool,即可根据数据,选择适当的拟合模型。 “\”命令 1.假设要拟合的多项式是:y=a+b*x+c*x^ 2.首先建立设计矩阵X: X=[ones(size(x)) x x^2]; 执行: para=X\y para中包含了三个参数:para(1)=a;para(2)=b;para(3)=c; 这种方法对于系数是线性的模型也适应。 2.假设要拟合:y=a+b*exp(x)+cx*exp(x^2) 设计矩阵X为 X=[ones(size(x)) exp(x) x.*exp(x.^2)]; para=X\y 3.多重回归(乘积回归) 设要拟合:y=a+b*x+c*t,其中x和t是预测变量,y是响应变量。设计矩阵为X=[ones(size(x)) x t] %注意x,t大小相等! para=X\y

非线性最小二乘法

非线性最小二乘法 编辑词条分享 ?新知社新浪微博腾讯微博人人网QQ空间网易微博开心001天涯飞信空间MSN移动说客 非线性最小二乘法 非线性最小二乘法是以误差的平方和最小为准则来估计非线性静态模型参数的一种参数估 计方法。 编辑摘要 目录 1 简介 2 推导 3 配图 4 相关连接 非线性最小二乘法 - 简介 以误差的平方和最小为准则来估计非线性静态模型参数的一种参数估计方法。设非线性系统的模型为y=f(x,θ) 式中y是系统的输出,x是输入,θ是参数(它们可以是向量)。这里的非线性是指对参数θ的非线性模型,不包括输入输出变量随时间的变化关系。在估 计参数时模型的形式f是已知的,经过N次实验取得数据(x1,y1),(x2,y1), ,(xn,yn)。估计参数的准则(或称目标函数)选为模型的误差平方和非线性最小二乘法就是求使Q达到极小的参数估计值孌。 推导 非线性最小二乘法 - 推导 以误差的平方和最小为准则来估计非线性静态模型参数的一种参数估计方法。设非线 性系统的模型为 y=f(x,θ) 式中y是系统的输出,x是输入,θ是参数(它们可以是向量)。这里的非线性是指对参数θ的非线性模型,不包括输入输出变量随时间的变化关系。在估计参数时模型的形式f是已知的,经过N次实验取得数据(x1,y1),(x2,y1), ,(x n,y n)。估计参数的准则(或称目标函数)选为模型的误差平方和

非线性最小二乘法就是求使Q达到极小的参数估计值孌。 由于f的非线性,所以不能象线性最小二乘法那样用求多元函数极值的办法来得到参 数估计值,而需要采用复杂的优化算法来求解。常用的算法有两类,一类是搜索算法,另 一类是迭代算法。 搜索算法的思路是:按一定的规则选择若干组参数值,分别计算它们的目标函数值并 比较大小;选出使目标函数值最小的参数值,同时舍弃其他的参数值;然后按规则补充新 的参数值,再与原来留下的参数值进行比较,选出使目标函数达到最小的参数值。如此继 续进行,直到选不出更好的参数值为止。以不同的规则选择参数值,即可构成不同的搜索 算法。常用的方法有单纯形搜索法、复合形搜索法、随机搜索法等。 迭代算法是从参数的某一初始猜测值θ(0)出发,然后产生一系列的参数点θ(1)、θ(2) ,如果这个参数序列收敛到使目标函数极小的参数点孌,那么对充分大的N就可用θ(N)作为孌。迭代算法的一般步骤是: ① 给出初始猜测值θ(0),并置迭代步数i=1。 ② 确定一个向量v(i)作为第i步的迭代方向。 ③ 用寻优的方法决定一个标量步长ρ(i),使得 Q(θ(i))=Q(θ(i)),其中θ(i)=θi-1+ρ(i)v(i)。 ④ 检查停机规则是否满足,如果不满足,则将i加1再从②开始重复;如果满足,则 取θ(i)为孌。 典型的迭代算法有牛顿-拉夫森法、高斯迭代算法、麦夸特算法、变尺度法等。 非线性最小二乘法除可直接用于估计静态非线性模型的参数外,在时间序列建模、连 续动态模型的参数估计中,也往往遇到求解非线性最小二乘问题。 非线性最小二乘法 - 配图 非线性最小二乘法

非线性最小二乘法Levenberg-Marquardt method

Levenberg-Marquardt Method(麦夸尔特法) Levenberg-Marquardt is a popular alternative to the Gauss-Newton method of finding the minimum of a function that is a sum of squares of nonlinear functions, Let the Jacobian of be denoted , then the Levenberg-Marquardt method searches in the direction given by the solution to the equations where are nonnegative scalars and is the identity matrix. The method has the nice property that, for some scalar related to , the vector is the solution of the constrained subproblem of minimizing subject to (Gill et al. 1981, p. 136). The method is used by the command FindMinimum[f, x, x0] when given the Method -> Levenberg Marquardt option. SEE A LSO:Minimum, Optimization REFERENCES: Bates, D. M. and Watts, D. G. N onlinear Regr ession and Its Applications. New York: Wiley, 1988. Gill, P. R.; Murray, W.; and Wright, M. H. "The Levenberg-Marquardt Method." §4.7.3 in Practical Optim ization. London: Academic Press, pp. 136-137, 1981. Levenberg, K. "A Method for the Solution of Certain Problems in Least Squares." Quart. Appl. Math.2, 164-168, 1944. Marquardt, D. "An Algor ithm for Least-Squares Estimation of Nonlinear Parameters." SIAM J. Appl. Math.11, 431-441, 1963.

用Matlab进行最小二乘法线性拟合求传感器非线性误差灵敏度

%后面的为注释,红色部分代码需要根据实际情况更改 %最小二乘法线性拟合y=ax+b x=[0.5,1,1.5,2,2.5,3,3.5,4,4.5,5];%自变量 y=[191,321,442,565,686,819,930,1032,1153,1252];%因变量 xmean=mean(x);ymean=mean(y); sumx2=(x-xmean)*(x-xmean)'; sumxy=(y-ymean)*(x-xmean)'; a=sumxy/sumx2;%解出直线斜率a(即传感器灵敏度) b=ymean-a*xmean;%解出直线截距b z=((a*(x(1,10))+b-(y(1,10)))/(y(1,10)));%“10”是自变量的个数,z为非线性误差(即线性度) a b z %作图,先把原始数据点用蓝色"十"字描出来 figure plot(x,y,'+'); hold on % 用红色绘制拟合出的直线 px=linspace(0,6,50);%(linspace语法(从横坐标负轴起点0画到横坐标正轴终点6,50等分精度)) py=a*px+b; plot(px,py,'r'); 运行结果: a =236.9818 b =87.4000 另一种简单一点的方法:

%最小二乘法线性拟合y=ax+b x=[0.5,1,1.5,2,2.5,3,3.5,4,4.5,5];%自变量 y=[191,321,442,565,686,819,930,1032,1153,1252];%因变量p=polyfit(x,y,1); p 运行结果: p = 236.9818 87.4000

Chapter2 非线性最小二乘法与数值最优化

第1章 非线性最小二乘法与数值最优化 变量之间的关系更多地表现为非线性特征。线性模型作为基础模型是非线性的近似,即任何非线性模型都可以通过线性模型来近似表达。比如,模型01x y e u ββ=++通过泰勒级数展开表述为 0000100101**01|()x x x x x y e x x u e x e x u x u βββββββ=≈+-+ =-++ =++ 模型201y x u ββ=++的线性近似表达式为 0010201010**01(2)|()22x x y x x x u x x x u x u βββββββ=≈+-+ =-++ =++ 例 1.1 利用Monte Carlo 模拟的方法观察线性模型对非线性模型的近似。 设DGP 为:y=10+0.2*exp(x)+u ,x 为[1,3]区间的均匀分布。利用线性模型与指数模型分别回归模型,并计算x 对y 的(平均)边际影响与(平均)弹性。(数据文件:nonlin ) 但线性模型对非线性模型的近似程度取决于高阶部分是否充分小。即使在样本内线性模型能够较好地拟合数据,也不能准确地体现变量的结构关系。非线性模型中,x 对y 的边际影响(或弹性)是变化的;而线性模型中,x 对y 的边际影响(或弹性)是常数。很多情况下,线性模型与非线性模型对边际影响或弹性的估计存在非常大的差异。另外,利用线性模型拟合非线性数据存在潜在的危险,即区间外预测会存在越来越大的误差。因此,正确设定模型的形式是进行准确推断和预测的重要环节。 对于一般的回归模型,如以下形式的模型, (,)f =+y X βu 1.1 OLS 一般不能得到其解析解。比如,运用OLS 方法估计模型(1.1),令S(β)表示残差平方和,即 2 211()[(;)]n n i i i i i S u y f ====-∑∑βX β 1.2 最小化S(β),即根据一阶条件可以得到 1 (;)()2[(;)]n i i i i f S y f =??=--=??∑X ββX β0ββ 以模型y x u γαβ=++为例,其一阶条件为 2011 0()1[]02i n x i i S y e ββββ=?=---=?∑β

非线性最小二乘法

非线性最小二乘法 系统的模型为 y=f(x,θ) 式中y是系统的输出,x是输入,θ是参数(它们可以是向量)。这里的非线性是指对参数 θ的非线性模型,不包括输入输出变量随时间的变化关系。在估计参数时模型的形式f是已 知的,经过n次实验取得数据(x,y),(x,y),…,(x,y)。估计参数的准则(或称目标函1121nn 数)选为模型的误差平方和 非线性最小二乘法就是求使q达到极小的参数估计值孌。 由于f的非线性,所以不能象线性最小二乘法那样用求多元函数极值的办法来得到参 数估计值,而需要采用复杂的优化算法来求解。常用的算法有两

类,一类是搜索算法,另一 类是迭代算法。 搜索算法的思路是:按一定的规则选择若干组参数值,分别计算它们的目标函数值并比 较大小;选出使目标函数值最小的参数值,同时舍弃其他的参数值;然后按规则补充新的参 数值,再与原来留下的参数值进行比较,选出使目标函数达到最小的参数值。如此继续进行, 直到选不出更好的参数值为止。以不同的规则选择参数值,即可构成不同的搜索算法。常用 的方法有单纯形搜索法、复合形搜索法、随机搜索法等。 (0)(1)(2)迭代算法是从参数的某一初始猜测值θ出发,然后产生一系列的参数点θ、θ…, (n)如果这个参数序列收敛到使目标函数极小的参数点孌,那么对充分大的n就可用θ作为孌。迭代算法的一般步骤是:

(0)?给出初始猜测值θ,并置迭代步数i=1。 (i)?确定一个向量v作为第i步的迭代方向。 (i)(i)(i)(i)i-1?用寻优的方法决定一个标量步长ρ,使得q(θ)<q(θ),其中θ=θ+(i)(i)ρv。 ?检查停机规则是否满足,如果不满足,则将加1再从?开始重复;如果满足,则i (i)取θ为孌。 典型的迭代算法有牛顿-拉夫森法、高斯迭代算法、麦夸特算法、变尺度法等。 非线性最小二乘法除可直接用于估计静态非线性模型的参数外,在时间序列建模、连续动态模型的参数估计中,也往往遇到求解非线性最小二乘问题。

非线性最小二乘法

非线性最小二乘法 最小二乘法的一般涵义 在科学实验的统计方法研究中,往往会遇到下列类型的问题: 设x,y都是被观测的量,且y是x的函数: y=f(x;,…,) (2.1) 假设这个函数关系已经由实际问题从理论上具体确定,因而(2.1)可称为理论函数或理论曲线公式,但其中含有n个未知参数,…,。为了进一步确定 这n个参数,我们可以通过实验或观测来得到m组数据: (,(,,…,(,(2.2) 根据(2.2)来寻找参数的最佳估计值,…,,即寻求最佳的理论曲线y= f(x;,…,),这就是一般的曲线拟合问题,也可称为观测数据的平滑问题。在实际问题中我们经常遇到的一种曲线拟合问题是需要从观测数据(2.2)求出y和x的一个经验公式,而在曲线拟合时首先碰到的问题就是函数关系(2.1)的具体确定,然后才能进行参数估计。对于某些变量x,y之间已经有比较明确物理关系或关系简单的问题给出函数的具体表达式并不是太困难,但往往实际问题中所遇到的却是极为复杂的问题,要建立有效的表达式就有些困难了。我们所讨论的最小二乘问题都是建立在函数关系已知的基础上。 我们用残差作为拟合标准,此时 =-f(;,…,) (i=1,2,…,m) 简单记作 r=y-f(x;b) 这里,r= b= f(x,b)= 残差向量r的三种范数记作

= = = 残差可以表示拟合的误差,误差越小则拟合的效果越好。虽然取前两种范数 最小,比较理想和直观,但是它们不便于计算,因此在实际应用中是 取欧式范数最小,即求出参数b ,使得=min 这就是通常所谓的最小二乘法,几何语言也成为最小二乘拟合。 解非线性方程组的Newton 法 12(,,......,)01,2,......,j n f x x x j m =??=? (1) 设其解为***12(,,......,)n x x x ,在其附近一点 00012(,,......,)n x x x 把j f 展成Taylor 展式: 0 0000001212121(,,...,)(,,...,)()(,,...,)n j n j n k k j n j k k f x x x f x x x x x f x x x R x =?=+-+?∑ 2 0012,11()()(,,......)1,2,......,2n j l l k k j n l k l k R x x x x f j n x x ξξξ=?=--=??∑ 忽略余项 j R 得到:0 00000012121(,,...,)() (,,...,)01,2,...,n j n k k j n k k f x x x x x f x x x j m x =?+-==?∑ 这是一组线性方程,它的解 111,......,n x x 作为解,系数矩阵式Jacobi 阵 111122221 2112(,...,)n n n m m m n f f f x x x f f f x x x J J x x f f f x x x ????? ???? ? ???? ????== ? ? ???? ? ??????

非线性最小二乘辨识

电力系统等值参数辨识的方法研究 4.1 研究等值参数辨识的意义 目前PSS 的参数设计主要还是依赖于单机无穷大系统,但在实际系统中无穷大系统的参数难以得知,可以近似发电机升压变的高压侧或出线远端,但会带来一定误差。本项目提出了一种根据发电机机端电压和电流量的变化情况,采用非线性最小二乘方法实时辨识等值无穷大系统参数,为励磁系统的参数性能校验和参数优化打下了良好基础。 4.2 在线实时辨识单机——无穷大模型 对于同步发电机,我们可以将其外部等值为一个无穷大系统,以这样一个单机——无穷大模型为基础设计出的励磁系统及PSS 参数是可以得到令人满意的控制效果的。单机——无穷大时域仿真检验计算要求获得电力系统的等值参数,所以需要进行对电力系统等值参数辨识的方法研究。 当发电机以外系统的运行方式及结构发生变化时,将可以等值为系统电抗 )(L T s s X X X X +=以及母线电压s V 的变化(如图4-1),如果我们能够在线实时 辨识出这种变化,就将可以根据所辨识出的系统参数及发电机运行状态根据优化算法计算出新的最优反馈增益矩阵,以适应变化后的系统运行方式及其结构。 这样,可以在电网运行方式及结构发生变化时,实时对电力系统参数进行辨识,也就可以实现PSS 参数的实时优化。 考虑如图4-1的单机——无穷大系统: 根据机端电压电流之间的关系有: 图4-1 单机对无穷大系统模型 V t X T X L V s

14(sin cos -?? ?-=+=s q s td s d s tq X I V V X I V V δδ (4-1) 即 ?? ?--=+=)24(s q d s td s d q s tq X I V V X I V V (4-2) 上式中的发电机端电压td V 、 tq V 及定子电流d I 、q I 我们可以通过采样获得,这样就有可能根据这些值通过(4-2)式的关系来辨识出 s X 及s V 。 4.3 常规线性最小二乘辨识 最小二乘法是目前应用最为广泛的一种参数估计方法,其原理清晰,形式简单,并且无需任何被估参数的概率信息,其在电力系统中的应用也非常广泛。因此,对于上一节的参数估计问题,首先我们采用了一般的线性最小二乘法。 定义损失函数如下: ])()[(122∑=--++-=n i s di sq tqi s qi sd tdi ls X I V V X I V V L 通过求其偏导为零,可得: ∑∑∑====---=??=+--=??=--++-=??n i s di sq tqi sq ls n i s qi sd tdi sd ls n i di s di sq tqi qi s qi sd tdi s ls X I V V V L X I V V V L I X I V V I X I V V X L 1 110 )(20)(20])()[(2 联立求解上述三个方程,最后可得 22 ()()()() (43)()()q d qi q di d di qi s q di d qi V V I I V V I I X a I I I I - - - - - - ∑---∑--= -∑-+∑- ^(43)q sd d s V V X I b -- =+-^ (43)d sq q s V V X I c - - =-- 其中

非线性最小二乘法

非线性最小二乘法 式中y是系统的输出,x是输入,θ是参数(它们可以是向量)。这里的非线性是指对参数θ的非线性模型,不包括输入输出变量随时间的变化关系。在估计参数时模型的形式f是已知的,经过N次实验取得数 非线性最小二乘法 据(x1,y1),(x2,y2),…,(xn,yn)。估计参数的准则(或称目标函数)选为模型的误差平方和非线性最小二乘法就是求使Q达到极小的参数估计值娈。 由于f的非线性,所以不能象线性最小二乘法那样用求多元函数极值的办法来得到参数估计值,而需要采用复杂的优化算法来求解。常用的算法有两类,一类是搜索算法,另一类是迭代算法。

搜索算法的思路是:按一定的规则选择若干组参数值,分别计算它们的目标函数值并比较大小;选出使目标函数值最小的参数值,同时舍弃其他的参数值;然后按规则补充新的参数值,再与原来留下的参数值进行比较,选出使目标函数达到最小的参数值。如此继续进行,直到选不出更好的参数值为止。以不同的规则选择参数值,即可构成不同的搜索算法。常用的方法有单纯形搜索法、复合形搜索法、随机搜索法等。 迭代算法是从参数的某一初始猜测值θ出发,然后产生一系列的参数点,如果这个参数序列收敛到使目标函数极小的参数点娈,那么对充分大的N就可用N作为娈。迭代算法的一般步骤是: ①给出初始猜测值θ,并置迭代步数i=1。 ②确定一个向量v作为第i步的迭代方向。 ③用寻优的方法决定一个标量步长ρ ④检查停机规则是否满足,如果不满足,则将i加1再从②开始重复;如果满足,则取θ为值。 典型的迭代算法有牛顿-拉夫森法、高斯迭代算法、麦夸特算法、变尺度法等。

非线性最小二乘法除可直接用于估计静态非线性模型的参数外,在时间序列建模、连续动态模型的参数估计中,也往往遇到求解非线性最小二乘问题。

最小二乘法 线性与非线性拟合

---------------------------------------------------------------最新资料推荐------------------------------------------------------ 最小二乘法线性与非线性拟合 最小二乘法线性与非线性拟合最小二乘法实现数据拟合最小二乘法原理函数插值是差值函数 p(x)与被插函数 f(x)在节点处函数值相同,即 p( )=f( ) (i=0,1,2,3,n),而曲线拟合函数不要求严格地通过所有数据点( ),也就是说拟合函数在处的偏差= 不都严格地等于零。 但是,为了使近似曲线能尽量反应所给数据点的变化趋势,要求| |按某种度量标准最小。 即ab 中输入以下程序x=[0,0.2,0.4,0.7,0.9,0.92,0.99,1.2,1.4,1.48,1.5]’; y=[2.88;2.2576;1.9683;1.9258;2.0862;2.109; 2.1979;2.5409;2.9627; 3.155;3.2052]; A=[ones(size(x)) exp(-3*x),cos(-2*x).*exp(-4*x) x.]; c=A\y; c’ 运行结果为ans = 1.2200 2.3397 -0.6797 0.8700 下面画出由拟合得到的曲线及已知的数据散点图x1=[0:0.01:1.5]’; A1=[ones(size(x1)) exp(-3*x1),cos(-2*x1).*exp(-4*x1) x1.]; x 0 0.2 0.4 0.7 0.9 0.92 0.99 1 .2 1 .4 1 .48 1 .5 y 2.88 2.2576 1 .9683 1 .9258 2.0862 2.1 09 2.1 979 2.5409 2.9627矩阵,表示因变量矩阵,是输出的系数矩阵,即多项式的系数。 多项式在自变量 x 处的函数值 y 可用以下命令计算: y=polyval(A,x) 例题对下面一组数据作二次多项式拟合,即 1 / 6

相关文档
最新文档