
R2008b
14-2
fsolve, lsqcurvefit, lsqnonlin Algorithm and Options Changes
• The Levenberg-Marquardt algorithm was refactored in the solvers fsolve, lsqcurvefit
and lsqnonlin. It is now a more standard implementation, that accepts and preserves
sparse Jacobians.
• Choose between the algorithms used in fsolve, lsqcurvefit and lsqnonlin using the new
Algorithm option.
• There is a new ScaleProblem option that can sometimes help the Levenberg-
Marquardt algorithm converge.
• The default fsolve algorithm, 'trust-region-dogleg', has been validated to work
with sparse Jacobians.
Compatibility Considerations
• The refactored Levenberg-Marquardt algorithm can cause fsolve, lsqcurvefit and
lsqnonlin to yield different answers than before.
• The previous way of choosing the algorithm at the command line was to set the
LargeScale option to 'on' or 'off', and, for all solvers but fsolve, to set the
LevenbergMarquardt option to 'on' or 'off'. For fsolve, in addition to the
LargeScale option, you needed to set the NonlEqnAlgorithm option appropriately.
LargeScale, NonlEqnAlgorithm, and LevenbergMarquardt are now ignored,
except when choosing to use the Gauss-Newton algorithm.
• The Gauss-Newton algorithm warns that soon it may no longer be available.
• The default value of the MaxFunEvals option in the refactored Levenberg-
Marquardt algorithm is now 200*numberOfVariables; the previous value was
100*numberOfVariables.
Optimization Tool Enables Parallel Functionality
You can now access built-in parallel functionality in Optimization Tool for relevant
Optimization Toolbox solvers and, if licensed, Global Optimization Toolbox solvers. The
option is available when you have a license for Parallel Computing Toolbox™ functions.
Central Finite Differences Available in Selected Solvers
The following solvers can now use central finite differences for gradient estimation:
• fgoalattain
Comentarios a estos manuales