org.apache.commons.math3.analysis.function
Class Gaussian

java.lang.Object
  extended by org.apache.commons.math3.analysis.function.Gaussian
All Implemented Interfaces:
DifferentiableUnivariateFunction, UnivariateDifferentiableFunction, UnivariateFunction

public class Gaussian
extends Object
implements UnivariateDifferentiableFunction, DifferentiableUnivariateFunction

Gaussian function.

Since:
3.0
Version:
$Id: Gaussian.java 1455194 2013-03-11 15:45:54Z luc $

Nested Class Summary
static class Gaussian.Parametric
          Parametric function where the input array contains the parameters of the Gaussian, ordered as follows: Norm Mean Standard deviation
 
Field Summary
private  double i2s2
          Inverse of twice the square of the standard deviation.
private  double is
          Inverse of the standard deviation.
private  double mean
          Mean.
private  double norm
          Normalization factor.
 
Constructor Summary
Gaussian()
          Normalized gaussian with zero mean and unit standard deviation.
Gaussian(double mean, double sigma)
          Normalized gaussian with given mean and standard deviation.
Gaussian(double norm, double mean, double sigma)
          Gaussian with given normalization factor, mean and standard deviation.
 
Method Summary
 UnivariateFunction derivative()
          Deprecated. as of 3.1, replaced by value(DerivativeStructure)
 DerivativeStructure value(DerivativeStructure t)
          Simple mathematical function.
 double value(double x)
          Compute the value of the function.
private static double value(double xMinusMean, double norm, double i2s2)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

mean

private final double mean
Mean.


is

private final double is
Inverse of the standard deviation.


i2s2

private final double i2s2
Inverse of twice the square of the standard deviation.


norm

private final double norm
Normalization factor.

Constructor Detail

Gaussian

public Gaussian(double norm,
                double mean,
                double sigma)
         throws NotStrictlyPositiveException
Gaussian with given normalization factor, mean and standard deviation.

Parameters:
norm - Normalization factor.
mean - Mean.
sigma - Standard deviation.
Throws:
NotStrictlyPositiveException - if sigma <= 0.

Gaussian

public Gaussian(double mean,
                double sigma)
         throws NotStrictlyPositiveException
Normalized gaussian with given mean and standard deviation.

Parameters:
mean - Mean.
sigma - Standard deviation.
Throws:
NotStrictlyPositiveException - if sigma <= 0.

Gaussian

public Gaussian()
Normalized gaussian with zero mean and unit standard deviation.

Method Detail

value

public double value(double x)
Compute the value of the function.

Specified by:
value in interface UnivariateFunction
Parameters:
x - Point at which the function value should be computed.
Returns:
the value of the function.

derivative

@Deprecated
public UnivariateFunction derivative()
Deprecated. as of 3.1, replaced by value(DerivativeStructure)

Returns the derivative of the function

Specified by:
derivative in interface DifferentiableUnivariateFunction
Returns:
the derivative function

value

private static double value(double xMinusMean,
                            double norm,
                            double i2s2)
Parameters:
xMinusMean - x - mean.
norm - Normalization factor.
i2s2 - Inverse of twice the square of the standard deviation.
Returns:
the value of the Gaussian at x.

value

public DerivativeStructure value(DerivativeStructure t)
                          throws DimensionMismatchException
Simple mathematical function.

UnivariateDifferentiableFunction classes compute both the value and the first derivative of the function.

Specified by:
value in interface UnivariateDifferentiableFunction
Parameters:
t - function input value
Returns:
function result
Throws:
DimensionMismatchException - if t is inconsistent with the function's free parameters or order
Since:
3.1


Copyright (c) 2003-2013 Apache Software Foundation