博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Levenberg-Marquardt method伪代码
阅读量:4228 次
发布时间:2019-05-26

本文共 1558 字,大约阅读时间需要 5 分钟。

Algorithm 3.16. Levenberg-Marquardt method

b e g i n begin begin

k : = 0 ; v : = 2 ; x : = x 0 k:=0; v:=2; x:=x_0 k:=0;v:=2;x:=x0
A : = J ( x ) T J ( x ) ; g : = J ( x ) T f ( x ) A:=J(x)^TJ(x); g:=J(x)^Tf(x) A:=J(x)TJ(x);g:=J(x)Tf(x)
f o u n d : = ( ∥ g ∥ ∞ ≤ ε 1 ) ; μ : = τ ∗ m a x { a i i } found:=(\|g\|_\infty \leq \varepsilon_1);\mu:=\tau*max\{a_{ii}\} found:=(gε1);μ:=τmax{
aii}
w h i l e ( n o t f o u n d ) a n d ( k < k m a x ) while (not found)and(k<k_{max}) while(notfound)and(k<kmax)
k : = k + 1 ; S o l v e ( A + μ I ) h l m = − g k:=k+1; Solve(A+\mu I)h_{lm}=-g k:=k+1;Solve(A+μI)hlm=g
i f ∥ h l m ∥ ≤ ε 2 ( ∥ x ∥ + ε 2 ) if \|h_{lm}\| \leq \varepsilon_2(\|x\|+\varepsilon_2) ifhlmε2(x+ε2)
f o u n d : = t r u e found:=true found:=true
e l s e else else
x n e w : = x + h l m x_{new}:=x+h_{lm} xnew:=x+hlm
ϱ : = ( F ( x ) − F ( x n e w ) ) / ( L ( 0 ) − L ( h l m ) ) \varrho:=(F(x)-F(x_{new}))/(L(0)-L(h_{lm})) ϱ:=(F(x)F(xnew))/(L(0)L(hlm))
i f ϱ > 0 if \varrho>0 ifϱ>0{step acceptable}
x : = x n e w x:=x_{new} x:=xnew
A : = J ( x ) T J ( x ) ; g : = J ( x ) T f ( x ) A:=J(x)^TJ(x); g:=J(x)^Tf(x) A:=J(x)TJ(x);g:=J(x)Tf(x)
f o u n d : = ( ∥ g ∥ ∞ ≤ ε 1 ) ; found:=(\|g\|_\infty \leq \varepsilon_1); found:=(gε1);
μ : = μ ∗ m a x { 1 3 , 1 − ( 2 ϱ − 1 ) 3 } ; v : = 2 \mu:=\mu*max\{\frac13,1-(2\varrho-1)^3\};v:=2 μ:=μmax{
31,1
(2ϱ1)3};v:=2
e l s e else else
μ : = μ ∗ v ; v : = 2 ∗ v \mu:=\mu*v; v:=2*v μ:=μv;v:=2v
e n d end end

参考文献

K. Madsen, H. B. Nielsen, O. Tingleff, Methods for Non-Linear Least Squares Problems

转载地址:http://hkcqi.baihongyu.com/

你可能感兴趣的文章
解决 Mybatis Generator由表字段使用关键字导致的异常方案
查看>>
HTTP请求的基础知识——HTTP中GET,POST和PUT的区别
查看>>
为什么需要Java反射?
查看>>
Java代码反编译——下载class字节码文件及反编译.class文件
查看>>
稀疏表示去噪的理解
查看>>
稀疏表示(二)——KSVD算法详解(结合代码和算法思路)
查看>>
剑指Offer习题集锦——Java实现及思路分析
查看>>
剑指Offer——二叉树镜像问题
查看>>
剑指Offer——二叉搜索树中第K大的节点
查看>>
剑指Offer——数据流中的中位数
查看>>
剑指Offer——查找队列中的最大值
查看>>
剑指Offer——顺时针遍历矩阵
查看>>
剑指Offer——栈的压入、弹出顺序
查看>>
剑指Offer——从上到下打印二叉树
查看>>
剑指Offer——字符串的排列
查看>>
剑指Offer——把数组排成最小的数
查看>>
剑指Offer——丑数
查看>>
剑指Offer——字符串中第一个只出现一次的字符
查看>>
Linux 中的硬链接与软连接有什么区别
查看>>
Python 图像处理库
查看>>