org.apache.commons.math3.analysis
Interface UnivariateFunction
- All Known Subinterfaces:
- DifferentiableIntegrableUnivariateFunction, DifferentiableUnivariateFunction, IntegrableUnivariateFunction, UnivariateDifferentiableFunction
- All Known Implementing Classes:
- Abs, Acos, Acosh, Asin, Asinh, Atan, Atanh, Cbrt, Ceil, Constant, Cos, Cosh, Exp, Expm1, Floor, FourierSeries, Gaussian, HarmonicOscillator, Identity, Inverse, Log, Log10, Log1p, Logistic, Logit, Minus, PolynomialFunction, PolynomialFunctionLagrangeForm, PolynomialFunctionNewtonForm, PolynomialSplineFunction, Power, Rint, Sigmoid, Signum, Sin, Sinc, Sinh, Sqrt, StepFunction, Tan, Tanh, TrigonometricPolynomialFunction, TrigonometricPolynomialPrimitive, Ulp, UniLinearIntervalsFunction
public interface UnivariateFunction
An interface representing a univariate real function.
When a user-defined function encounters an error during
evaluation, the value
method should throw a
user-defined unchecked exception.
The following code excerpt shows the recommended way to do that using
a root solver as an example, but the same construct is applicable to
ODE integrators or optimizers.
private static class LocalException extends RuntimeException {
// The x value that caused the problem.
private final double x;
public LocalException(double x) {
this.x = x;
}
public double getX() {
return x;
}
}
private static class MyFunction implements UnivariateFunction {
public double value(double x) {
double y = hugeFormula(x);
if (somethingBadHappens) {
throw new LocalException(x);
}
return y;
}
}
public void compute() {
try {
solver.solve(maxEval, new MyFunction(a, b, c), min, max);
} catch (LocalException le) {
// Retrieve the x value.
}
}
As shown, the exception is local to the user's code and it is guaranteed
that Apache Commons Math will not catch it.
- Version:
- $Id: UnivariateFunction.java 7703 2013-02-12 17:12:25Z CardosoP $
Method Summary |
double |
value(double x)
Compute the value of the function. |
value
double value(double x)
- Compute the value of the function.
- Parameters:
x
- Point at which the function value should be computed.
- Returns:
- the value of the function.
- Throws:
IllegalArgumentException
- when the activated method itself can
ascertain that a precondition, specified in the API expressed at the
level of the activated method, has been violated.
When Commons Math throws an IllegalArgumentException
, it is
usually the consequence of checking the actual parameters passed to
the method.
Copyright © 2016 CNES. All Rights Reserved.