Main Content

Gaussian Fitting with an Exponential Background

This example fits two poorly resolved Gaussian peaks on a decaying exponential background using a general (nonlinear) custom model.

Fit the data using this equation

y ( x ) = a e b x + a 1 e ( x b 1 c 1 ) 2 + a 2 e ( x b 2 c 2 ) 2

whereaiare the peak amplitudes,biare the peak centroids, andciare related to the peak widths. Because unknown coefficients are part of the exponential function arguments, the equation is nonlinear.

  1. Load the data and open the Curve Fitting app:

    load gauss3 cftool

    The workspace contains two new variables:

    • xpeakis a vector of predictor values.

    • ypeakis a vector of response values.

  2. In the Curve Fitting app, selectxpeakforX dataandypeakforY data.

  3. EnterGauss2exp1for theFit name.

  4. SelectCustom Equationfor the model type.

  5. Replace the example text in the equation edit box with these terms:

    a*exp(-b*x)+a1*exp(-((x-b1)/c1)^2)+a2*exp(-((x-b2)/c2)^2)

    The fit is poor (or incomplete) at this point because the starting points are randomly selected and no coefficients have bounds.

  6. Specify reasonable coefficient starting points and constraints. Deducing the starting points is particularly easy for the current model because the Gaussian coefficients have a straightforward interpretation and the exponential background is well defined. Additionally, as the peak amplitudes and widths cannot be negative, constraina1,a2,c1, andc2to be greater than 0.

    1. ClickFit Options.

    2. Change theLowerbound fora1,a2,c1, andc2to0, as the peak amplitudes and widths cannot be negative.

    3. Enter start points as shown for the unknown coefficients.

      未知数 Start Point
      a 100
      a1 100
      a2 80
      b 0.1
      b1 110
      b2 140
      c1 20
      c2 20

      As you change fit options, the Curve Fitting app refits. PressEnteror close the Fit Options dialog box to ensure your last change is applied to the fit.

      Following are the fit and residuals.