Local minima possible. lsqnonlin stopped because the size of the current step is less than the selected value of the step size tolerance.

17 views (last 30 days)
I am using lsqnonlin solver for a non-linear data fitting problem.
I get a result which says "Local minima possible. lsqnonlin stopped because the size of the current step is less than the selected value of the step size tolerance".
I have a couple of questions on this regard.
  1. After displaying the above warning, lsqnonlin gives a solution which is very close to my initial conditions to the parameter values. Why does this happen ?
  2. What is the difference between local minima possible and local minima found while using these solvers ?
  3. What should i change in optimoptions to find the local minima using lsqnonlin ?
  4. How to calculate the standard error of parameter estimates using lsqnonlin ?
I have tried decreasing the function tolerance to 1E-10.
I have also tried decreasing the stepsize tolerance to 1E-10.
Neither of them worked.
What am i missing here ?
I kindly request you to help me in this regard.
Thanks and with best regards,
Prakash

Accepted Answer

Alan Weiss
Alan Weiss on 11 Feb 2019
Take a look at some suggestions in When the Solver Might Have Succeeded and When the Solver Succeeds.
Alan Weiss
MATLAB mathematical toolbox documentation
  1 Comment
Prakash Packirisamy
Prakash Packirisamy on 12 Feb 2019
Thanks a lot Alan Weiss for your recommendations.
I found it helpful.
I have one more follow up question along the same line.
  1. How to determine the standard error of the parameter estimates using lsqnonlin
Thanks once again.
With regards,
Prakash

Sign in to comment.

More Answers (1)

Alan Weiss
Alan Weiss on 12 Feb 2019
Perhaps this old example will be helpful. But maybe it is better to use nlparci from Statistics and Machine Learning Toolbox™.
Alan Weiss
MATLAB mathematical toolbox documentation

Community Treasure Hunt

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

Start Hunting!