
R2011b
8-2
Derivative Estimate Changes
• The fsolve, lsqcurvefit, and lsqnonlin solvers now accept the FinDiffType option. Set
FinDiffType to 'central' with optimset to enable derivative estimation by central
finite differences. Central finite differences are more accurate, but take more time
than the default 'forward' finite differences.
• fsolve, lsqcurvefit, and lsqnonlin now use the TypicalX option when estimating
dense Jacobians via finite differences. In previous releases, these solvers used
TypicalX only when checking derivatives.
• For algorithms that obey bounds, finite difference steps for derivative estimation now
stay within any bounds you set for the decision variables. See Iterations Can Violate
Constraints.
• The new FinDiffRelStep option allows you to set a vector of finite difference
step sizes to better handle problems whose components have different scales. Use
FinDiffRelStep at the command line for any solver that uses finite differences. For
details, see FinDiffRelStep in Options Structure.
Gauss-Newton Algorithm Removed
The fsolve, lsqcurvefit, and lsqnonlin functions no longer use the Gauss-Newton
algorithm.
Compatibility Considerations
The previous way of selecting the Gauss-Newton algorithm was to set the LargeScale
option to 'off', and in:
• fsolve — set the NonlEqnAlgorithm option to 'gn'.
• lsqcurvefit or lsqnonlin — set the LevenbergMarquardt option to 'off'.
To select an algorithm, use optimset to set the Algorithm option:
• fsolve — trust-region-dogleg, trust-region-reflective, or levenberg-
marquardt
• lsqcurvefit or lsqnonlin — trust-region-reflective or levenberg-
marquardt
Commentaires sur ces manuels