接口 BaseUnivariateSolver<F extends UnivariateFunction>
- 类型参数:
-
F- 要解决的函数类型。
- 所有已知子接口:
-
BracketedUnivariateSolver<F>,PolynomialSolver,UnivariateDifferentiableSolver,UnivariateSolver
- 所有已知实现类:
-
AbstractPolynomialSolver,AbstractUnivariateDifferentiableSolver,AbstractUnivariateSolver,BaseAbstractUnivariateSolver,BaseSecantSolver,BisectionSolver,BracketingNthOrderBrentSolver,BrentSolver,IllinoisSolver,LaguerreSolver,MullerSolver,MullerSolver2,NewtonRaphsonSolver,PegasusSolver,RegulaFalsiSolver,RiddersSolver,SecantSolver
public interface BaseUnivariateSolver<F extends UnivariateFunction>
(一元实数)根查找算法的接口。实现将在给定区间中仅搜索一个零点。此类不适用于Hipparchus库之外的使用,普通用户应依赖于更具体的接口,如
UnivariateSolver、PolynomialSolver或UnivariateDifferentiableSolver。
- 另请参阅:
-
方法概要
修饰符和类型方法说明double获取求解器的绝对精度。int获取目标函数的评估次数。double获取求解器的函数值精度。double获取求解器的相对精度。double在startValue附近求解零点。double在给定区间内求解零点。double在给定区间内求解零点,从startValue开始。
-
方法详细资料
-
getEvaluations
int getEvaluations()获取目标函数的评估次数。评估次数对应于最后一次调用optimize方法。如果尚未调用该方法,则为0。- 返回:
- 目标函数的评估次数。
-
getAbsoluteAccuracy
double getAbsoluteAccuracy()获取求解器的绝对精度。求解器返回的解应该精确到此容差,即,如果ε是求解器的绝对精度,v是solve方法之一返回的值,则函数的根应该存在于区间(v- ε,v+ ε)中。- 返回:
- 绝对精度。
-
getRelativeAccuracy
double getRelativeAccuracy()获取求解器的相对精度。相对精度的约定与getAbsoluteAccuracy()相同,但使用相对误差而不是绝对误差。如果ρ是为求解器配置的相对精度,v是返回的值,则函数的根应该存在于区间(v- ρv,v+ ρv)中。- 返回:
- 相对精度。
-
getFunctionValueAccuracy
double getFunctionValueAccuracy()获取求解器的函数值精度。如果v是求解器为函数f返回的值,则按约定,|f(v)|应小于或等于求解器配置的函数值精度。- 返回:
- 函数值精度。
-
solve
double solve(int maxEval, F f, double min, double max) throws MathIllegalArgumentException, MathIllegalStateException 在给定区间内求零根。求解器可能要求区间囊括单个零根。需要囊括的求解器应能处理一个端点本身就是根的情况。- 参数:
-
maxEval- 最大评估次数。 -
f- 要求解的函数。 -
min- 区间的下界。 -
max- 区间的上界。 - 返回:
- 使函数为零的值。
- 抛出:
-
MathIllegalArgumentException- 如果参数不满足求解器指定的要求。 -
MathIllegalStateException- 如果超过允许的评估次数。
-
solve
double solve(int maxEval, F f, double min, double max, double startValue) throws MathIllegalArgumentException, MathIllegalStateException 在给定区间内以startValue为起点求零。求解器可能要求区间囊括单个零根。需要囊括的求解器应能处理一个端点本身就是根的情况。- 参数:
-
maxEval- 最大评估次数。 -
f- 要求解的函数。 -
min- 区间的下界。 -
max- 区间的上界。 -
startValue- 起始值。 - 返回:
- 使函数为零的值。
- 抛出:
-
MathIllegalArgumentException- 如果参数不满足求解器指定的要求。 -
MathIllegalStateException- 如果超过允许的评估次数。
-
solve
在startValue附近求零。- 参数:
-
maxEval- 最大评估次数。 -
f- 要求解的函数。 -
startValue- 起始值。 - 返回:
- 使函数为零的值。
- 抛出:
-
MathIllegalArgumentException- 如果参数不满足求解器指定的要求。 -
MathIllegalStateException- 如果超过允许的评估次数。
-