接口 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时,通常是由于检查传递给方法的实际参数。
-