Clear Filters
Clear Filters

When to use cost function or error function for fitting

3 views (last 30 days)
I have look around different ways to fit. So when do you know you have to use the cost function: sum((realdata-fittingdata).^2) or error = realdata-fittingdata? For example, for lsqnonlin, you would use 'error' to find do the optimization. However, for fminsearch or patternsearch, you would use the 'cost function.'

Accepted Answer

Alan Weiss
Alan Weiss on 26 Jun 2017
I'm sorry that you don't find the documentation clear on this issue.
  • If you are using lsqnonlin or lsqcurvefit, then your objective function should return the vector of function values (I mean fittingdata - realdata in your vocabulary).
  • If you are using any other nonlinear optimizer, then your objective function should be the sum of squares of the function values.
For an example comparing these approaches, including efficiency of each solver, see Nonlinear Data-Fitting.
Alan Weiss
MATLAB mathematical toolbox documentation
  1 Comment
Arbol
Arbol on 26 Jun 2017
It's probably my fault that I'm not familiar with the fitting language. Thank you though!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!