de.lmu.ifi.dbs.elki.math.linearalgebra.fitting
Class GaussianFittingFunction

java.lang.Object
  extended by de.lmu.ifi.dbs.elki.math.linearalgebra.fitting.GaussianFittingFunction
All Implemented Interfaces:
FittingFunction

public class GaussianFittingFunction
extends Object
implements FittingFunction

Gaussian function for parameter fitting Based loosely on fgauss in the book "Numerical Recipies".
We did not bother to implement all optimizations at the benefit of having easier to use parameters. Instead of position, amplitude and width used in the book, we use the traditional Gaussian parameters mean, standard deviation and a linear scaling factor (which is mostly useful when combining multiple distributions) The cost are some additional computations such as a square root and probably a slight loss in precision. This could of course have been handled by an appropriate wrapper instead. Due to their license, we cannot use their code, but we have to implement the mathematics ourselves. We hope the loss in precision isn't big. They are also arranged differently: the book uses

 amplitude, position, width
 
whereas we use
 mean, stddev, scaling
 
But we're obviously using essentially the same mathematics. The function also can use a mixture of gaussians, just use an appropriate number of parameters (which obviously needs to be a multiple of 3)


Constructor Summary
GaussianFittingFunction()
           
 
Method Summary
 FittingFunctionResult eval(double x, double[] params)
          compute the mixture of Gaussians at the given position
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GaussianFittingFunction

public GaussianFittingFunction()
Method Detail

eval

public FittingFunctionResult eval(double x,
                                  double[] params)
compute the mixture of Gaussians at the given position

Specified by:
eval in interface FittingFunction
Parameters:
x - Current coordinate
params - Function parameters parameters
Returns:
Array consisting of y value and parameter gradients

Release 0.4.0 (2011-09-20_1324)