Make optimiser more robust to upper and lower bounds
1 view (last 30 days)
I am using a nonlinear least squares optimiser lsqnonlin() to fit a Voigt function to my data.
I am finding however that the optimiser is VERY sensitive to the lower and upper bounds I provide to the optimiser, with incremental changes in these bounds resulting in large changes in the quality of the fit. I often have to manually change these bounds in order to achieve a quality fit which is quite labour intensive however when I do find the optimum upper and lower bounds, the quality of the fit is very good.
As I don't want to write an optimiser for my optimiser, is there a way to make the optimiser more robust to changes in the bounds or does the fault lie in the function which I am trying to fit?
For reference, I am using a slightly modified version of this package: https://au.mathworks.com/matlabcentral/fileexchange/57603-voigt-line-shape-fit?s_tid=srchtitle