- How do you call lsqnonlin()
- What options are you using?
- Have you tried profiling your code?
Slow convergence of lsqnonlin
14 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hi everyone,
I have a convergence problem with lsqnonlin and I hope that someone can help me speed it up.
Ok, so what do I have:
- 18 different data sets with 8 data points each with each data point having a standard deviation
- 18 different and really nasty objective functions that I build with the help of a for loop
- 28 overall free parameters from which all have a lower bound and only one has an upper bound.
What I'm doing now:
- Generate initial conditions from log normal distribution
- Pass them to lsqnonlin and let lsqnonlin do its magic
- Save goodness of fit (not really chi^2 because I don't use weighted fitting)
- Repeat a lot of times and then choose the parameter set according to "chi^2" value
After diagnosing one of those many iteration, I see that it really takes long time for lsqnonlin to converge to a solution. And with long time I mean about 35 seconds for one iteration which is just not tolerable if you wanna do this 10000 times.
I hope I made myself clear and that anyone could hint me on ways to speed up the convergence. Of course I'll try to provide anything necessary for you to help me.
Thanks a lot in advance.
Pascal
2 comentarios
Sean de Wolski
el 26 de Mzo. de 2013
Matt J
el 26 de Mzo. de 2013
Editada: Matt J
el 26 de Mzo. de 2013
By "one of those many iteration", you mean a single pass through steps 1-4 in your post?
In any case, the speed of convergence depends on the function being minimized. We need to see your objective and constraints to say anything about that.
Respuesta aceptada
Más respuestas (1)
Ver también
Categorías
Más información sobre Linear Least Squares en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!