### 2.2 Function nonlin_curvefit() for curve fitting ¶

In curve fitting, the model function computes values from a constant set of ‘independents’, and the intention is to minimize the differences of these computed values to a constant set of ‘observations’. This can be done with `nonlin_residmin`, but it is more convenient to use `nonlin_curvefit`, which cares for passing the constant ‘independents’ to the model function and for calculating the differences to the constant ‘observations’.

However, if in some optimization problem you notice that you end up with passing dummy-values for the ‘independents’ and zeros for the ‘observations’, you can more naturally use `nonlin_residmin` instead of `nonlin_curvefit`.

Function File: `[p, fy, cvg, outp] =` nonlin_curvefit `(f, pin, x, y)` ¶
Function File: `[p, fy, cvg, outp] =` nonlin_curvefit `(f, pin, x, y, settings)` ¶

  Frontend for nonlinear fitting of values, computed by a model function, to observed values.

  Please refer to the description of `nonlin_residmin`. The differences to `nonlin_residmin` are the additional arguments x (independent values, mostly, but not necessarily, an array of the same dimensions or the same number of rows as y) and y (array of observations), the returned value fy (final guess for observed values) instead of resid, that the model function has a second obligatory argument which will be set to x and is supposed to return guesses for the observations (with the same dimensions), and that the possibly user-supplied function for the jacobian of the model function has also a second obligatory argument which will be set to x.

  See also: nonlin_residmin.

Also, if the setting `user_interaction` is given, additional information is passed to these functions, see Options common to all optimization frontends.