Class TrapezoidIntegrator
- java.lang.Object
-
- org.apache.commons.math4.legacy.analysis.integration.BaseAbstractUnivariateIntegrator
-
- org.apache.commons.math4.legacy.analysis.integration.TrapezoidIntegrator
-
- All Implemented Interfaces:
UnivariateIntegrator
public class TrapezoidIntegrator extends BaseAbstractUnivariateIntegrator
Implements the Trapezoid Rule for integration of real univariate functions. See Introduction to Numerical Analysis, ISBN 038795452X, chapter 3.The function should be integrable.
Caveat: At each iteration, the algorithm refines the estimation by evaluating the function twice as many times as in the previous iteration; When specifying a
maximum number of function evaluations
, the caller must ensure that it is compatible with therequested minimal number of iterations
.- Since:
- 1.2
-
-
Field Summary
-
Fields inherited from class org.apache.commons.math4.legacy.analysis.integration.BaseAbstractUnivariateIntegrator
DEFAULT_ABSOLUTE_ACCURACY, DEFAULT_MAX_ITERATIONS_COUNT, DEFAULT_MIN_ITERATIONS_COUNT, DEFAULT_RELATIVE_ACCURACY, iterations
-
-
Constructor Summary
Constructors Constructor 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.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected double
doIntegrate()
Method for implementing actual integration algorithms in derived classes.-
Methods inherited from class org.apache.commons.math4.legacy.analysis.integration.BaseAbstractUnivariateIntegrator
computeObjectiveValue, getAbsoluteAccuracy, getEvaluations, getIterations, getMax, getMaximalIterationCount, getMin, getMinimalIterationCount, getRelativeAccuracy, integrate, setup
-
-
-
-
Constructor Detail
-
TrapezoidIntegrator
public TrapezoidIntegrator(double relativeAccuracy, double absoluteAccuracy, int minimalIterationCount, int maximalIterationCount)
Build a trapezoid integrator with given accuracies and iterations counts.- Parameters:
relativeAccuracy
- relative accuracy of the resultabsoluteAccuracy
- absolute accuracy of the resultminimalIterationCount
- minimum number of iterationsmaximalIterationCount
- maximum number of iterations- Throws:
NotStrictlyPositiveException
- ifminimalIterationCount <= 0
.NumberIsTooSmallException
- ifmaximalIterationCount < minimalIterationCount
. is lesser than or equal to the minimal number of iterationsNumberIsTooLargeException
- ifmaximalIterationCount > 30
.
-
TrapezoidIntegrator
public TrapezoidIntegrator(int minimalIterationCount, int maximalIterationCount)
Build a trapezoid integrator with given iteration counts.- Parameters:
minimalIterationCount
- minimum number of iterationsmaximalIterationCount
- maximum number of iterations- Throws:
NotStrictlyPositiveException
- ifminimalIterationCount <= 0
.NumberIsTooSmallException
- ifmaximalIterationCount < minimalIterationCount
. is lesser than or equal to the minimal number of iterationsNumberIsTooLargeException
- ifmaximalIterationCount > 30
.
-
TrapezoidIntegrator
public TrapezoidIntegrator()
Construct a trapezoid integrator with default settings.
-
-
Method Detail
-
doIntegrate
protected double doIntegrate()
Method for implementing actual integration algorithms in derived classes.- Specified by:
doIntegrate
in classBaseAbstractUnivariateIntegrator
- Returns:
- the root.
-
-