Class GaussianFunction

java.lang.Object
org.apache.commons.math.optimization.fitting.GaussianFunction
All Implemented Interfaces:
Serializable, DifferentiableUnivariateRealFunction, UnivariateRealFunction

public class GaussianFunction extends Object implements DifferentiableUnivariateRealFunction, Serializable
A Gaussian function. Specifically:

f(x) = a + b*exp(-((x - c)^2 / (2*d^2)))

Notation key:

  • x^n: x raised to the power of n
  • exp(x): e^x
References:
Since:
2.2
See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
    GaussianFunction(double[] parameters)
    Constructs an instance with the specified parameters.
    GaussianFunction(double a, double b, double c, double d)
    Constructs an instance with the specified parameters.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the derivative of the function
    double
    Gets a parameter value.
    double
    Gets b parameter value.
    double
    Gets c parameter value.
    double
    Gets d parameter value.
    double
    value(double x)
    Compute the value for the function.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • GaussianFunction

      public GaussianFunction(double a, double b, double c, double d)
      Constructs an instance with the specified parameters.
      Parameters:
      a - a parameter value
      b - b parameter value
      c - c parameter value
      d - d parameter value
      Throws:
      IllegalArgumentException - if d is 0
    • GaussianFunction

      public GaussianFunction(double[] parameters)
      Constructs an instance with the specified parameters.
      Parameters:
      parameters - a, b, c, and d parameter values
      Throws:
      IllegalArgumentException - if parameters is null, parameters length is not 4, or if parameters[3] is 0
  • Method Details

    • derivative

      public UnivariateRealFunction derivative()
      Returns the derivative of the function
      Specified by:
      derivative in interface DifferentiableUnivariateRealFunction
      Returns:
      the derivative function
    • value

      public double value(double x)
      Compute the value for the function.
      Specified by:
      value in interface UnivariateRealFunction
      Parameters:
      x - the point for which the function value should be computed
      Returns:
      the value
    • getA

      public double getA()
      Gets a parameter value.
      Returns:
      a parameter value
    • getB

      public double getB()
      Gets b parameter value.
      Returns:
      b parameter value
    • getC

      public double getC()
      Gets c parameter value.
      Returns:
      c parameter value
    • getD

      public double getD()
      Gets d parameter value.
      Returns:
      d parameter value