接口 CalculusFieldUnivariateFunction<T extends CalculusFieldElement<T>>
- 类型参数:
-
T
- 字段元素的类型
- 所有已知实现类:
-
FieldPolynomialFunction
,FieldPolynomialSplineFunction
,SmoothStepFactory.FieldSmoothStepFunction
public interface CalculusFieldUnivariateFunction<T extends CalculusFieldElement<T>>
代表一元实函数的接口。
当一个用户定义的函数在评估过程中遇到错误时,value
方法应该抛出一个用户定义的未经检查的异常。
以下代码摘录展示了使用根求解器作为示例执行此操作的推荐方式,但相同的结构也适用于ODE积分器或优化器。
private static class LocalException extends RuntimeException { // 引起问题的x值。 private final SomeFieldType x; public LocalException(SomeFieldType x) { this.x = x; } public double getX() { return x; } } private static class MyFunction implements FieldUnivariateFunction<SomeFieldType> { public SomeFieldType value(SomeFieldType x) { SomeFieldType 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
计算函数的值。- 参数:
-
x
- 应计算函数值的点。 - 返回:
- 函数的值。
- 抛出:
-
IllegalArgumentException
- 当激活方法本身可以确定在激活方法级别表达的API中指定的前提条件已被违反时。当Hipparchus抛出IllegalArgumentException
时,通常是由于检查传递给方法的实际参数。
-