[A, T1, T2, phase, offset, Ssq] = fit_decay_oscillations( t, y, options )
fitting decaying oscillations of the form
y(t) = A exp( -t/T1 ) cos( t / T2 + phi) + offset
where A is the amplitude, T1 is the decay time, T2 is the period, along with
phase and offest. Ssq is the sum of residuals.
options are 'notify' to show progress and 'plot' to give a plot
you can also supply a guess or series of guesses via a row vector or
matrix, m, where size( m, 2 ) = 5;
if you just run program without arguments it will do an example
fit_decay_oscillations( t, y, 'notify', 'plot')
[A, T1, T2, phase, offset] = fit_decay_oscillations( t, y, [1 2 3 4 5])
Note: this script uses LMFnlsq from MATLAB central file exchange
another bug fix
speed improvement, and fixed calculation of Jacobian
used the Jacobian matrix to speed calculations.
Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.