接口 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
- 如果超过允许的评估次数。
-