I appreciate your point and agree with most of your post, but my problem is different because first my data have a very distinctive shape (profiles sitting on a background) and not like your data which are scattered. My aim is to try to fit a curve to be as close as possible to the original data points. What I get from Levenberg-Marquardt in most cases is not an ideal fit because when I play with my initial values I get better fits (both visually and in a least squares sense). Because the model is complex and the data is large, I cannot afford playing with the initial values to get the 'best fit'. What I am looking for is some routine that is not easy to be trapped in local minima and could find its way to the global minimum spontaneously without interaction and manual adjustment.
I am looking for a good code or software package to do Simmulated Annealing and Lattice Boltzmann. As I have no expertise in coding or using these numerical methods, it is strongly desirable that they are well documented and easy to use.
Thank you in advance for your help.
1) It is a least squares fit.
2) It consists of several Fano profiles (typically 5) superimposed on a logarithmic quadratic polynomial. It is not a simple model.
3) Between 3000-4000 points.
4) Typically 8 variables. The maximum is usually 13.
Do you think Octave, Maxima or geogebra can do this and which one would you recommend most.
By the way, I used Levenberg-Marquardt from numerical recipes and it sometimes produces a very good fit, but in most cases it goes wild. I tried many tricks but no one can do the fitting in all cases correctly.
Many thanks for your advice
Thank you for your reply. The problem with these general packages is that they are not flexible to use especially when the fitting model is too complicated. I spent several days in vain trying to do the fitting by Matlab. I don't think these packages can do better than Matlab.