类 MullerSolver2
java.lang.Object
org.hipparchus.analysis.solvers.BaseAbstractUnivariateSolver<UnivariateFunction>
org.hipparchus.analysis.solvers.AbstractUnivariateSolver
org.hipparchus.analysis.solvers.MullerSolver2
- 所有已实现的接口:
-
BaseUnivariateSolver<UnivariateFunction>
,UnivariateSolver
该类实现了用于实数一元函数根查找的 Muller's Method。参考资料:Elementary Numerical Analysis,ISBN 0070124477,第3章。
Muller's方法适用于实数和复数函数,但这里我们限制在实数函数上。该类与MullerSolver
的区别在于它避免了复杂的操作。
除了初始[min,max]之外,它不需要括号条件,例如f(x0),f(x1),f(x2)可以具有相同的符号。如果计算中出现复数,则我们简单地将其模作为实数近似。
由于区间可能不是括号的,因此二分法在这里不适用。然而,在实践中,我们的处理通常效果良好,特别是在接近实零点的地方,复数近似的虚部通常可以忽略不计。
这里的公式不直接使用分裂差异。
- 另请参阅:
-
构造器概要
构造器说明使用默认精度(1e-6)构造一个求解器。MullerSolver2
(double absoluteAccuracy) 构造一个求解器。MullerSolver2
(double relativeAccuracy, double absoluteAccuracy) 构造一个求解器。 -
方法概要
从类继承的方法 org.hipparchus.analysis.solvers.BaseAbstractUnivariateSolver
computeObjectiveValue, getAbsoluteAccuracy, getEvaluations, getFunctionValueAccuracy, getMax, getMin, getRelativeAccuracy, getStartValue, incrementEvaluationCount, isBracketing, isSequence, setup, solve, solve, solve, verifyBracketing, verifyInterval, verifySequence
从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
从接口继承的方法 org.hipparchus.analysis.solvers.BaseUnivariateSolver
getAbsoluteAccuracy, getEvaluations, getFunctionValueAccuracy, getRelativeAccuracy, solve, solve, solve
-
构造器详细资料
-
MullerSolver2
public MullerSolver2()使用默认精度(1e-6)构造一个求解器。 -
MullerSolver2
public MullerSolver2(double absoluteAccuracy) 构造一个求解器。- 参数:
-
absoluteAccuracy
- 绝对精度。
-
MullerSolver2
public MullerSolver2(double relativeAccuracy, double absoluteAccuracy) 构造一个求解器。- 参数:
-
relativeAccuracy
- 相对精度。 -
absoluteAccuracy
- 绝对精度。
-
-
方法详细资料
-
doSolve
在派生类中实现实际优化算法的方法。- 指定者:
-
doSolve
在类中BaseAbstractUnivariateSolver<UnivariateFunction>
- 返回:
- 根。
- 抛出:
-
MathIllegalArgumentException
- 如果初始搜索区间不包含根并且求解器需要它。 -
MathIllegalStateException
- 如果超过最大评估次数。
-