接口 UnivariateFunction
- 所有已知子接口:
-
UnivariateDifferentiableFunction
- 所有已知实现类:
-
Abs
,Acos
,Acosh
,Asin
,Asinh
,Atan
,Atanh
,BesselJ
,Cbrt
,Ceil
,Constant
,Cos
,Cosh
,Exp
,Expm1
,Floor
,Gaussian
,HarmonicOscillator
,Identity
,Inverse
,Log
,Log10
,Log1p
,Logistic
,Logit
,Minus
,MonitoredFunction
,PolynomialFunction
,PolynomialFunctionLagrangeForm
,PolynomialFunctionNewtonForm
,PolynomialSplineFunction
,Power
,QuinticFunction
,Rint
,Sigmoid
,Sin
,Sinc
,Sinh
,SmoothStepFactory.QuadraticSmoothStepFunction
,SmoothStepFactory.SmoothStepFunction
,Sqrt
,StepFunction
,Tan
,Tanh
,Ulp
,XMinus5Function
public interface UnivariateFunction
表示一元实函数的接口。
当一个用户定义的函数在评估过程中遇到错误时,value
方法应该抛出一个用户定义的未检查异常。
以下代码摘录展示了使用根求解器作为示例时建议的做法,但同样的结构适用于ODE积分器或优化器。
private static class LocalException extends RuntimeException { // 引起问题的x值。 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) { // 检索x值。 } }如所示,异常局限于用户的代码,并且保证Hipparchus不会捕获它。
-
方法概要
-
方法详细资料
-
value
double value(double x) 计算函数的值。- 参数:
-
x
- 应计算函数值的点。 - 返回:
- 函数的值。
- 抛出:
-
IllegalArgumentException
- 当激活方法本身可以确定在激活方法级别表达的API中指定的前提条件已被违反时。当Hipparchus抛出IllegalArgumentException
时,通常是由于检查传递给方法的实际参数而导致的。
-