Skip to content

Matlab routines for iterative fitting of decomposing transient absorption data into a sum of (co)sinusoidal decays

Notifications You must be signed in to change notification settings

RealPolitiX/multifit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 

Repository files navigation

multifit

The repo consists of two sets of Matlab routines for fitting transient absorption data.



multioscfit

Iterative fitting of a single free induction decay time trace into a sum of exponential decay-modulated (co)sinusoids. The routine uses starting point re-initialization to find a close fit in a much faster and more reliable way than conventional single-starting approach.

Fitting to a model of the type,

Alt text

The background removal (multi-exponential decay type) may be carried out using the global fitting approach (see following section).



globalfit

Global fitting of multi-exponential decay relaxation dynamics with a Gaussian impulse response.

Goal: achieve small confidence interval on the evaluation of parameters (e.g. time constants) by fitting simultaneously over a large number of traces.

Fitting to a model of the type,

Alt text

Operation steps:

  1. Construct fitting model (e.g. DecayModel or use a model constructor like constructExpDecayModel).

  2. Single-trace fitting to provide feasible initial guesses for the fitting parameters (esp. time constants).

    Tool to use: Matlab's cftool interactive interface

  3. Construct initial guesses and (upper and/or lower) bounds, if necessary, for every fitting parameter.

    function to use: fvconstruct

  4. Construct the minimizer by plugging the model, initial guesses (and bounds) into it.

    minimizer of choice for least-square problems: Levenberg-Marquardt, trust region reflective

    functions to use: lsqcurvefit, lsqnonlin, etc.

  5. Run the minimizer and check for results numerically or graphically. Modify initial guesses, bounds, fitting options, if needed, to get a better fit.

  6. Calculate the 95% confidence intervals (CIs) for all fitting parameters.

    function to use: nlparci (need the Jacobian matrix obtained from the minimizer)

  7. Distribute the fitted parameters and CIs.

    function to use: vardist

  8. Construct dictionary/structure to store fitted parameters and CIs.

    function to use: dictConstructor

About

Matlab routines for iterative fitting of decomposing transient absorption data into a sum of (co)sinusoidal decays

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages