public class TrapezoidIntegrator extends BaseAbstractUnivariateIntegrator
The function should be integrable.
| Modifier and Type | Field and Description |
|---|---|
private double |
s
Intermediate result.
|
static int |
TRAPEZOID_MAX_ITERATIONS_COUNT
Maximum number of iterations for trapezoid.
|
DEFAULT_ABSOLUTE_ACCURACY, DEFAULT_MAX_ITERATIONS_COUNT, DEFAULT_MIN_ITERATIONS_COUNT, DEFAULT_RELATIVE_ACCURACY, iterations| Constructor and Description |
|---|
TrapezoidIntegrator()
Construct a trapezoid integrator with default settings.
|
TrapezoidIntegrator(double relativeAccuracy,
double absoluteAccuracy,
int minimalIterationCount,
int maximalIterationCount)
Build a trapezoid integrator with given accuracies and iterations counts.
|
TrapezoidIntegrator(int minimalIterationCount,
int maximalIterationCount)
Build a trapezoid integrator with given iteration counts.
|
| Modifier and Type | Method and Description |
|---|---|
protected double |
doIntegrate()
Method for implementing actual integration algorithms in derived
classes.
|
(package private) double |
stage(BaseAbstractUnivariateIntegrator baseIntegrator,
int n)
Compute the n-th stage integral of trapezoid rule.
|
computeObjectiveValue, getAbsoluteAccuracy, getEvaluations, getIterations, getMax, getMaximalIterationCount, getMin, getMinimalIterationCount, getRelativeAccuracy, integrate, setuppublic static final int TRAPEZOID_MAX_ITERATIONS_COUNT
private double s
public TrapezoidIntegrator(double relativeAccuracy,
double absoluteAccuracy,
int minimalIterationCount,
int maximalIterationCount)
throws NotStrictlyPositiveException,
NumberIsTooSmallException,
NumberIsTooLargeException
relativeAccuracy - relative accuracy of the resultabsoluteAccuracy - absolute accuracy of the resultminimalIterationCount - minimum number of iterationsmaximalIterationCount - maximum number of iterations
(must be less than or equal to TRAPEZOID_MAX_ITERATIONS_COUNTNotStrictlyPositiveException - if minimal number of iterations
is not strictly positiveNumberIsTooSmallException - if maximal number of iterations
is lesser than or equal to the minimal number of iterationsNumberIsTooLargeException - if maximal number of iterations
is greater than TRAPEZOID_MAX_ITERATIONS_COUNTpublic TrapezoidIntegrator(int minimalIterationCount,
int maximalIterationCount)
throws NotStrictlyPositiveException,
NumberIsTooSmallException,
NumberIsTooLargeException
minimalIterationCount - minimum number of iterationsmaximalIterationCount - maximum number of iterations
(must be less than or equal to TRAPEZOID_MAX_ITERATIONS_COUNTNotStrictlyPositiveException - if minimal number of iterations
is not strictly positiveNumberIsTooSmallException - if maximal number of iterations
is lesser than or equal to the minimal number of iterationsNumberIsTooLargeException - if maximal number of iterations
is greater than TRAPEZOID_MAX_ITERATIONS_COUNTpublic TrapezoidIntegrator()
TRAPEZOID_MAX_ITERATIONS_COUNT)double stage(BaseAbstractUnivariateIntegrator baseIntegrator, int n) throws TooManyEvaluationsException
integrate() in the package.
To save time it does not verify arguments - caller does.
The interval is divided equally into 2^n sections rather than an arbitrary m sections because this configuration can best utilize the already computed values.
baseIntegrator - integrator holding integration parametersn - the stage of 1/2 refinement, n = 0 is no refinementTooManyEvaluationsException - if the maximal number of evaluations
is exceeded.protected double doIntegrate()
throws MathIllegalArgumentException,
TooManyEvaluationsException,
MaxCountExceededException
doIntegrate in class BaseAbstractUnivariateIntegratorTooManyEvaluationsException - if the maximal number of evaluations
is exceeded.MaxCountExceededException - if the maximum iteration count is exceeded
or the integrator detects convergence problems otherwiseMathIllegalArgumentExceptionCopyright (c) 2003-2015 Apache Software Foundation