接口 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库之外的使用,普通用户应依赖于更具体的接口,如UnivariateSolverPolynomialSolverUnivariateDifferentiableSolver
另请参阅:
  • 方法概要

    修饰符和类型
    方法
    说明
    double
    获取求解器的绝对精度。
    int
    获取目标函数的评估次数。
    double
    获取求解器的函数值精度。
    double
    获取求解器的相对精度。
    double
    solve(int maxEval, F f, double startValue)
    startValue附近求解零点。
    double
    solve(int maxEval, F f, double min, double max)
    在给定区间内求解零点。
    double
    solve(int maxEval, F f, double min, double max, double startValue)
    在给定区间内求解零点,从startValue开始。
  • 方法详细资料

    • getEvaluations

      int getEvaluations()
      获取目标函数的评估次数。评估次数对应于最后一次调用optimize方法。如果尚未调用该方法,则为0。
      返回:
      目标函数的评估次数。
    • getAbsoluteAccuracy

      double getAbsoluteAccuracy()
      获取求解器的绝对精度。求解器返回的解应该精确到此容差,即,如果ε是求解器的绝对精度,vsolve方法之一返回的值,则函数的根应该存在于区间(v - ε,v + ε)中。
      返回:
      绝对精度。
    • getRelativeAccuracy

      double getRelativeAccuracy()
      获取求解器的相对精度。相对精度的约定与getAbsoluteAccuracy()相同,但使用相对误差而不是绝对误差。如果ρ是为求解器配置的相对精度,v是返回的值,则函数的根应该存在于区间(v - ρ vv + ρ 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

      double solve(int maxEval, F f, double startValue)
      startValue附近求零。
      参数:
      maxEval - 最大评估次数。
      f - 要求解的函数。
      startValue - 起始值。
      返回:
      使函数为零的值。
      抛出:
      MathIllegalArgumentException - 如果参数不满足求解器指定的要求。
      MathIllegalStateException - 如果超过允许的评估次数。