Next: nlinfit, Previous: lsqnonlin, Up: Compatibility functions [Index]
This function is for Matlab compatibility. It attempts to work like
lsqcurvefit by calling nonlin_curvefit.
Solve nonlinear least-squares (nonlinear data-fitting) problems
min [EuclidianNorm (f(x, xdata) - ydata)] .^ 2 x
The first four input arguments must be provided with non-empty initial guess x0. For a given input xdata, ydata is the observed output. ydata must be the same size as the vector (or matrix) returned by fun. The optional bounds lb and ub should be the same size as x0.
lsqcurvefit may also be called with a single structure
argument with the fields fun, x0, xdata,
ydata, lb, ub, and options, resembling
the separate input arguments above. For compatibility reasons,
field fun may also be called objective. Additionally,
the structure must have the field solver, set to
"lsqcurvefit".
options can be set with optimset.
Follwing Matlab compatible options
are recognized:
Algorithm
   String specifying backend algorithm. Currently available "lm_svd_feasible"
   only.
TolFun
   Minimum fractional improvement in objective function in an iteration
   (termination criterium). Default: 1e-6.
TypicalX
   Typical values of x. Default: 1.
MaxIter
   Maximum number of iterations allowed. Default: 20.
Jacobian
   If set to "on", the function fun must return a second output
   containing a user-specified Jacobian. The Jacobian is computed using
   finite differences otherwise. Default: "off"
FinDiffType
   "centered" or "forward" (Default) type finite differences estimation.
FinDiffRelStep
   Step size factor. The default is sqrt(eps) for forward finite differences,
   and eps^(1/3) for central finite differences
OutputFcn
   One or more user-defined functions, either as a function handle or as a
   cell array of function handles that an optimization function calls at each
   iteration. The function definition has the following form:
stop = outfun(x, optimValues, state)
x is the point computed at the current iteration.
optimValues is a structure containing data from the current
   iteration in the following fields:
   "iteration"- number of current iteration.
   "residual"- residuals.
state is the state of the algorithm: "init" at start,
   "iter" after each iteration and "done" at the end.
Display
   String indicating the degree of verbosity. Default: "off".
   Currently only supported values are "off" (no messages) and "iter"
   (some messages after each iteration).
Returned values:
Coefficients to best fit the nonlinear function fun(x,xdata) to the observed values ydata.
Scalar value of objective as squared EuclidianNorm(f(x)).
Value of solution residuals f(x).
Status of solution:
0Maximum number of iterations reached.
2Change in x was less than the specified tolerance.
3Change in the residual was less than the specified tolerance.
-1Output function terminated the algorithm.
Structure with additional information, currently the only field is
iterations, the number of used iterations.
Structure containing Lagrange multipliers at the solution x sepatared by constraint type (lb and ub).
m-by-n matrix, where jacobian(i,j) is the partial derivative of fun(i) with respect to x(j)
If Jacobian is set to "on" in options then fun must return a second argument providing a user-sepcified Jacobian. Otherwise, lsqnonlin approximates the Jacobian using finite differences.
This function is a compatibility wrapper. It calls the more general nonlin_curvefit function internally.
See also: lsqnonlin, nonlin_residmin, nonlin_curvefit.
Next: nlinfit, Previous: lsqnonlin, Up: Compatibility functions [Index]