public class ParametricGaussianFunction extends java.lang.Object implements ParametricRealFunction, java.io.Serializable
f(x) = a + b*exp(-((x - c)^2 / (2*d^2)))
The parameters have the following meaning:
| Modifier and Type | Field and Description |
|---|---|
private static long |
serialVersionUID
Serializable version Id.
|
| Constructor and Description |
|---|
ParametricGaussianFunction()
Constructs an instance.
|
| Modifier and Type | Method and Description |
|---|---|
double[] |
gradient(double x,
double[] parameters)
Computes the gradient vector for a four variable version of the function
where the parameters, a, b, c, and d,
are considered the variables, not x.
|
private void |
validateParameters(double[] parameters)
Validates parameters to ensure they are appropriate for the evaluation of
the
value and gradient methods. |
double |
value(double x,
double[] parameters)
Computes value of function f(x) for the specified x and
parameters a, b, c, and d.
|
private static final long serialVersionUID
public ParametricGaussianFunction()
public double value(double x,
double[] parameters)
throws ZeroException
value in interface ParametricRealFunctionx - x valueparameters - values of a, b, c, and
djava.lang.IllegalArgumentException - if parameters is invalid as
determined by validateParameters(double[])ZeroException - if parameters values are
invalid as determined by validateParameters(double[])public double[] gradient(double x,
double[] parameters)
throws ZeroException
The components of the computed gradient vector are the partial derivatives of f(a, b, c, d) with respect to each variable. That is, the partial derivative of f(a, b, c, d) with respect to a, the partial derivative of f(a, b, c, d) with respect to b, the partial derivative of f(a, b, c, d) with respect to c, and the partial derivative of f(a, b, c, d) with respect to d.
gradient in interface ParametricRealFunctionx - x value to be used as constant in f(a, b, c,
d)parameters - values of a, b, c, and
d for computation of gradient vector of f(a, b, c,
d)java.lang.IllegalArgumentException - if parameters is invalid as
determined by validateParameters(double[])ZeroException - if parameters values are
invalid as determined by validateParameters(double[])private void validateParameters(double[] parameters)
throws ZeroException
value and gradient methods.parameters - values of a, b, c, and
djava.lang.IllegalArgumentException - if parameters is
null or if parameters does not have
length == 4ZeroException - if parameters[3]
(d) is 0Copyright (c) 2003-2013 Apache Software Foundation