Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: Fitting an equation to data using the Levenberg-Marquardt algorithm,
Replies: 2   Last Post: Feb 20, 2013 7:51 AM

 Messages: [ Previous | Next ]
 Torsten Posts: 1,717 Registered: 11/8/10
Re: Fitting an equation to data using the Levenberg-Marquardt algorithm,
Posted: Feb 19, 2013 10:46 AM

Nanna Pedersen <nannamp86@gmail.com> wrote in message <26f143b5-6488-4228-b29a-9161d5dda618@googlegroups.com>...
> Hi everyone.
>
> I am using lsqcurvefit to fit a signalequation to some data. I am using the Levenberg-Marqaurdt algorithm but would really like to put some boundary constraints on the output. The most important constraint is that all the output parameters are positive but I would like to constrain the values to certain ranges.
>
> lsqcurvefit does not accept boundary constraints for the Levenberg-Marquardt algorithm, so do any of you have an idea how I can cheat lsqcurvefit to accept boundary conditions indirectly somehow or (even better): do any of you know of another implementation in matlab?
>
> Thank you!
>
> Best regards, Nanna

Instead of the parameter p handed to you in the function routine of
lsqcurvefit, use
p'=(lb+ub)/2 + sin(p)*(ub-lb)/2
in the evaluation of your residuals.
Then p' ranges from lb to ub where lb is a lower bound and ub is an upper bound
for the parameter you want to fit.

Best wishes
Torsten.

Date Subject Author
2/19/13 Torsten
2/20/13 Alan Weiss