您的位置首页百科知识

如何用matlab实现非线性最小二乘拟合

如何用matlab实现非线性最小二乘拟合

的有关信息介绍如下:

如何用matlab实现非线性最小二乘拟合

当知道某两个量之间的函数形式,却不知道它的具体参数时,可以使用最小二乘法来拟合该参数。而matlab可以很容易的实现这一点。

先看一个具体的例子,最后来说明该命令在matlab中的具体用法。例子如下图所示,已知y与x之间是满足指数关系的,但不知道具体的参数,用已知的数据估计这些参数值。

首先启动matlab,选择编辑器,再新建一个函数文件。

然后,在编辑器窗口中输入本题的函数。如下图所示。并保存,此处命名为xy。

再建立一个命令文件。

在编辑器窗口中输入命令代码。如下图所示。并保存,此处命名为solvexy。

需要注意的是,保存文件的位置要与当前搜索路径的位置保持一致,并且两个文件要在相同的文件夹下。这可以通过右键编辑窗口的文件,在弹出的下拉框中选择。

最后再命令行窗口处输入solvexy,并敲入键盘上的enter建。t=29.45 0.5,即说明了a=29.45 ,b=0.5时,取得最好拟合。

通过上面的例子知道,matlab实现非线性最小二乘拟合的关键命令是

lsqnonlin。

该命令的格式如下

x=lsqnonlin('f',x0)

功能:作为非线性最小二乘拟合,其中f是函数文件。