Levenberg-Marquardt算法matlab实现,这是优化计算中最小二乘拟合中的一种算法。
2021-10-25 16:10:22 55KB LMF
1
函数 LMFsolve.m 用于在最小二乘意义上找到非线性方程组的超定系统的最优解。 许多年前,标准的 Levenberg-Marquardt 算法由 Fletcher 修改并用 FORTRAN 编码。 LMFsolve 是其在 MATLAB 中实现的本质上的缩短版本,并通过将迭代参数设置为选项进行了补充。 这部分代码受到 Duane Hanselman 函数 mmfsolve.m 的强烈影响。 在它旁边,雅可比矩阵的有限差分近似作为嵌套子函数以及用于显示中间结果的函数附加到它。 函数的调用相当简单: [x,ssq,cnt] = LMFsolve(Equations,X0); % 或者[x,ssq,cnt] = LMFsolve(Equations,X0,'Name',Value,...); % 或者[x,ssq,cnt] = LMFsolve(Equations,X0,Options
2021-10-25 15:30:16 8KB matlab
1
LevenbergMarquardt 与 lsqnonlin 类似,具有 levenberg-marquardt 算法,具有三个主要优点: 1) jacobian 可以使用 Broyden 方法更新,该方法最小化函数评估2) 变量被转换以实现框约束,并且3) 可以传递函数参数。 此工具箱需要同一作者的 Jacobian 工具箱。
2021-10-16 21:46:30 25KB matlab
1
LM算法,全称为Levenberg-Marquard算法,它可用于解决非线性最小二乘问题,多用于曲线拟合等场合。 LM算法的实现并不算难,它的关键是用模型函数 f 对待估参数向量 p 在其邻域内做线性近似,忽略掉二阶以上的导数项,从而转化为线性最小二乘问题,它具有收敛速度快等优点。LM算法属于一种“信赖域法”——所谓的信赖域法,此处稍微解释一下:在最优化算法中,都是要求一个函数的极小值,每一步迭代中,都要求目标函数值是下降的,而信赖域法,顾名思义,就是从初始点开始,先假设一个可以信赖的最大位移 s ,然后在以当前点为中心,以 s 为半径的区域内,通过寻找目标函数的一个近似函数(二次的)的最优点,来求解得到真正的位移。在得到了位移之后,再计算目标函数值,如果其使目标函数值的下降满足了一定条件,那么就说明这个位移是可靠的,则继续按此规则迭代计算下去;如果其不能使目标函数值的下降满足一定的条件,则应减小信赖域的范围,再重新求解。 事实上,你从所有可以找到的资料里看到的LM算法的说明,都可以找到类似于“如果目标函数值增大,则调整某系数再继续求解;如果目标函数值减小,则调整某系数再继续求解”的迭代过程,这种过程与上面所说的信赖域法是非常相似的,所以说LM算法是一种信赖域法。
2021-08-27 17:49:15 66KB LM C++
1
椭圆C 使用 Levenberg-Marquardt 算法检测精确椭圆中心的 C++ 代码。 该代码是的一部分,也是。 该程序以椭圆图像作为输入,并打印其精确参数(其中包括中心坐标)作为输出。
2021-07-22 23:23:44 38KB C++
1
C语言编写LM迭代算法+文档说明,是非线性优化处理很好的方法
2021-03-17 11:15:19 1.54MB LM 优化算法 Levenberg -
1
基于改进的Levenberg-Marquardt方法的中性点钳位逆变器SHEWPM求解方法
2021-03-03 09:08:23 1.25MB 研究论文
1
Levenberg-Marquardt(LM)优化算法 求解非线性方程组 非线性最小二乘拟合 需要配置环境
2019-12-21 22:13:01 79KB LM优化算法 非线性方程组
1
Levenberg–Marquardt 算法(改进)Matlab代码
2019-12-21 20:30:20 209KB LM算法
1