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 ParametricRealFunction
x
- 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 ParametricRealFunction
x
- 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-2016 Apache Software Foundation