09 October 2015 21 5K Report

I have a set of measured data points that empirically defines a function of two variables. I need to fit this data set with a nonlinear analytical function that is given but it contains five adjustable fitting parameters in addition to the two variables. Let us define the error measure between the fit and the data using the traditional sum-square-error (with an optional user-selected weighting function) definition. The goal is to numerically calculate the fitting parameters that minimize this error measure, and some numerical routine is needed to do that. My problem is that all of the publicly available routines that I have tried look for relative minimums in the error measure instead of the global minimum. The routine declares success when a relative minimum is found. For my specific application there is an enormous number of relative minimums, so that almost any change in the initial guess produces an entirely different returned result. I have to manually keep track of which relative minimum (out of many because of many initial guesses) is the smallest. A smarter routine would not declare success each time a relative minimum in the error measure is found. Instead, it would remember results from prior initial guesses and recognize that if the most recent calculated relative minimum is not smaller than all prior calculations, then it needs to keep working. Does anyone know of a publicly available routine (e.g., a package in MATLAB) that does this?

Similar questions and discussions