GAUSFIT Gaussian Curve Fit
Section: Optimization and Curve Fitting
Usage
Thegausfit
routine has the following syntax
[mu,sigma,dc,gain,yhat] = gausfit(t,y,w,mug,sigmag,dcg,gaing).
where the required inputs are

t
 the values of the independant variable (e.g., time samples) 
y
 the values of the dependant variable (e.g., f(t))

w
 the weights to use in the fitting (set to ones if omitted) 
mug
 initial estimate of the mean 
sigmag
 initial estimate of the sigma (standard deviation) 
dcg
 initial estimate of the DC value 
gaing
 initial estimate of the gain
yhat=gain*exp((tmu).^2/(2*sigma^2))+dc
.
The outputs are

mu
 the mean of the fit 
sigma
 the sigma of the fit 
dc
 the dc term of the fit 
gain
 the gain of the gaussian fit 
yhat
 the output samples (the Gaussian fits)
mug
, sigmag
, dcg
,
gaing
arguments. Any arguments not supplied are estimated using
a simple algorithm. In particular, the DC value is estimated by
taking the minimum value from the vector y
. The gain is
estimated from the range of y
. The mean and standard deviation
are estimated using the first and second order moments of y
.
This function uses fitfun
.
Example
Suppose we want to fit a cycle of a cosine using a Gaussian shape.> t = linspace(pi,pi); > y = cos(t); > [mu,sigma,dc,gain,yhat] = gausfit(t,y); > plot(t,y,'rx',t,yhat,'g');
Which results in the following plot