Home > Scripts > Models > Factory > ngauss.m



y = ngauss(p, x, [y]) : multiple Gaussians


function y=ngauss(varargin)


 y = ngauss(p, x, [y]) : multiple Gaussians

   iFunc/ngauss multiple Gaussian fitting function
     y = sum p(i)*exp(-0.5*((x-p(i+1))/p(i+2)).^2) + p(end);

   The HalfWidth parameters are the Gaussian square root variances (Sigma). 
   The 'true' half width are thus 1.177*HalfWidth.

 To initiate n gaussians use: ngauss(n)
 will result in an iFunc model of n Gaussian functions.

 Reference: http://en.wikipedia.org/wiki/Gaussian_function

 input:  p: multiple Gaussian model parameters (double)
            p = [ Amplitude1 Centre1 HalfWidth1 ... BackGround ]
          or 'guess'
         x: axis (double)
         y: when values are given and p='guess', a guess of the parameters is performed (double)
 output: y: model value
 ex:     y=ngauss([1 0 1 0.5 2 0.5 0], -10:10); or plot(ngauss)

 Version: Aug. 22, 2017
 See also iFunc, iFunc/fits, iFunc/plot, nlorz
 (c) E.Farhi, ILL. License: EUPL.


This function calls: This function is called by:
Generated on Tue 22-Aug-2017 11:03:30 by m2html © 2005. iFit (c) E.Farhi/ILL EUPL 1.1