Consider the problem of fitting a curve of the form

y(x)=a0+a1*exp(-x/b1)+a2*exp(-x/b2)+...+an*exp(-x/bn)

to noisy (x,y) data.  If we have a good initial guess for a0,a1,b1,a2,b2,..., then an iterative method can be used to find a local minimum of the least squares fit to the data.  But is there a good way to generate a good initial guess automatically?

A routine for this purpose, exp2fit.m (see attachment), was contributed to the Matlab File Exchange in 2008 by someone named Per Lundqvist.  It contains some unexplained formulas for generating initial guesses for n=1 and n=2 exponential terms, based on integrals of the data.

-Can anyone explain these formulas?

-Can the approach be extended to the sum of 3 exponentials (and beyond)?

-Are there better alternatives?

Similar questions and discussions