程序包 org.hipparchus.util

类 ContinuedFraction

java.lang.Object
org.hipparchus.util.ContinuedFraction

public abstract class ContinuedFraction extends Object
提供一种通用的方法来评估连分数。子类只需提供用于评估连分数的a和b系数。

参考资料:

  • 构造器概要

    构造器
    限定符
    构造器
    说明
    protected
    默认构造函数。
  • 方法概要

    修饰符和类型
    方法
    说明
    double
    evaluate(double x)
    在值x处评估连分数。
    double
    evaluate(double x, double epsilon)
    在值x处评估连分数。
    double
    evaluate(double x, double epsilon, int maxIterations)
    在值x处评估连分数。
    double
    evaluate(double x, int maxIterations)
    在值x处评估连分数。
    protected abstract double
    getA(int n, double x)
    访问连分数的第n个a系数。
    protected abstract double
    getB(int n, double x)
    访问连分数的第n个b系数。

    从类继承的方法 java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 构造器详细资料

    • ContinuedFraction

      protected ContinuedFraction()
      默认构造函数。
  • 方法详细资料

    • getA

      protected abstract double getA(int n, double x)
      访问连分数的第n个a系数。由于a可以是评估点x的函数,因此也将其传递进来。
      参数:
      n - 要检索的系数索引。
      x - 评估点。
      返回:
      第n个a系数。
    • getB

      protected abstract double getB(int n, double x)
      访问连分数的第n个b系数。由于b可以是评估点x的函数,因此也将其传递进来。
      参数:
      n - 要检索的系数索引。
      x - 评估点。
      返回:
      第n个b系数。
    • evaluate

      public double evaluate(double x) throws MathIllegalStateException
      在值x处评估连分数。
      参数:
      x - 评估点。
      返回:
      在x处评估的连分数的值。
      抛出:
      MathIllegalStateException - 如果算法无法收敛。
    • evaluate

      public double evaluate(double x, double epsilon) throws MathIllegalStateException
      在值x处评估连分数。
      参数:
      x - 评估点。
      epsilon - 允许的最大误差。
      返回:
      在x处评估的连分数的值。
      抛出:
      MathIllegalStateException - 如果算法无法收敛。
    • evaluate

      public double evaluate(double x, int maxIterations) throws MathIllegalStateException
      在值x处评估连分数。
      参数:
      x - 评估点。
      maxIterations - 最大收敛数
      返回:
      在x处评估的连分数的值。
      抛出:
      MathIllegalStateException - 如果算法无法收敛。
      MathIllegalStateException - 如果达到最大迭代次数
    • evaluate

      public double evaluate(double x, double epsilon, int maxIterations) throws MathIllegalStateException
      在值x处评估连分数。

      此方法的实现基于修改后的Lentz算法,如以下页面中所述:

      注意: 实现中使用了在MathWorld的连分数中定义的术语ai和bi

      参数:
      x - 评估点。
      epsilon - 允许的最大误差。
      maxIterations - 最大收敛数
      返回:
      在x处评估的连分数的值。
      抛出:
      MathIllegalStateException - 如果算法无法收敛。
      MathIllegalStateException - 如果达到最大迭代次数