如何用matlab实现非线性最小二乘拟合
当知道某两个量之间的函数形式,却不知道它的具体参数时,可以使用最小二乘法来拟合该参数。而matlab可以很容易的实现这一点。
操作方法
- 01
先看一个具体的例子,最后来说明该命令在matlab中的具体用法。例子如下图所示,已知y与x之间是满足指数关系的,但不知道具体的参数,用已知的数据估计这些参数值。
- 02
首先启动matlab,选择编辑器,再新建一个函数文件。
- 03
然后,在编辑器窗口中输入本题的函数。如下图所示。并保存,此处命名为xy。
- 04
再建立一个命令文件。
- 05
在编辑器窗口中输入命令代码。如下图所示。并保存,此处命名为solvexy。
- 06
需要注意的是,保存文件的位置要与当前搜索路径的位置保持一致,并且两个文件要在相同的文件夹下。这可以通过右键编辑窗口的文件,在弹出的下拉框中选择。
- 07
最后再命令行窗口处输入solvexy,并敲入键盘上的enter建。t=29.45 0.5,即说明了a=29.45 ,b=0.5时,取得最好拟合。
命令说明
- 01
通过上面的例子知道,matlab实现非线性最小二乘拟合的关键命令是 lsqnonlin。
- 02
该命令的格式如下 x=lsqnonlin('f',x0) 功能:作为非线性最小二乘拟合,其中f是函数文件。
赞 (0)