Performs a More-Hebden Levenberg-Marquardt optimization
x = lmmore('func',xinit,lb,ub,options,arg2,...)
[x,resnorm,residual,exitflag,output,lambda,jacobian] = lmmore('func',xinit,lb,ub,options,arg2,...)
This function is a More-Hebden implementation of the Levenberg-Marquardt nonlinear least-squares optimization algorithm. The function is interface-compatible with the lsqnonlin-function from the MATLAB 6 Optimization Toolbox.
'func' is the cost-function that is to be used.
xinit is the parameter-vector's starting point in the non-linear optimization.
lb is the lower-bound on the parameters. This value is not used.
ub is the upper-bound on the parameters. This value is not used.
options is a MATLAB 6 compatible optimset-structure that contains options for the optimization algorithm . In addition, a number of extra fields may be present. See the Remarks section below for more information.
arg2 will be passed as second argument to the cost-function 'func'. Arguments 3 to N may be appended after arg2.
x is the result of the optimization. The solution x is guaranteed to have an equal or smaller cost than xinit.
All other parameters are compatible with the MATLAB 6 lsqnonlin function.
The interface to lmmore has been made compatible with the lsqnonlin optimization function in the MATLAB 6 Optimization Toolbox. Note that although a lower and upper bound are given (consistent with lsqnonlin's interface), they are not used internally.
This optimization implementation supports overparametrized cost-functions. If options.Manifold (not part of optimset's normal structure) is passed and set to 'on', lmmore expects the cost- function to be able to return three arguments: an error-vector EN, a Jacobian PsiN U2 and a projection matrix U2. The columns of this matrix U2 must form an orthonormal basis of the subspace in which the cost-function does not change because of over-parametrization.
This optimization implementation supports cost-functions that return the R-factor of the (projected) Jacobian PsiN and the error-vector EN:
Cost-functions may use this functionality, e.g. to build up the R-factor in such a way that less memory is required. In order to use this feature with costfunctions that support it, the field options.RFactor should be set to 'on'.
This function implements a More-Hebden trust-region based Levenberg-Marquardt optimization according to [2,3].
In addition, this function supports projected gradients according to [4,5].
 The MathWorks Inc., Natick, Massachusetts, Optimization Toolbox User's Guide, version 2.1 (release 12) ed., Sept 2000.
 J. E. Dennis and R. B. Schnabel, Numerical Methods for Unconstrained Optimization and Nonlinear Equations. New Jersey: Prentice-Hall, 1982.
 J. J. More, "The Levenberg-Marquardt algorithm: Implemnetation and theory", in Numerical Analysis (G. A. Watson, ed.), vol. 630 of _Lecture Notes in Mathematics, pp. 106-116, Springer Verlag, 1978.
 N. Bergboer, V. Verdult, and M. Verhaegen, "An effcient implementation of maximum likelihood identification of LTI state-space models by local gradient search", in Proceedings of the 41st IEEE Conference on Decision and Control, Las Vegas, Nevada, Dec. 2002.
 L.H. Lee and K. Poolla, "Identification of linear parameter varying systems using nonlinear programming", Journal of Dynamic Systems, Measurement and Control, col. 121, pp. 71-78, Mar 1999.