public final class BurdenFairesAdaptiveQuadrature extends Object
See section 4.6 in "Numerical Analysis" by Burden and Faires for more information.
Modifier and Type | Class and Description |
---|---|
static class |
BurdenFairesAdaptiveQuadrature.Integrand
The function to be integrated.
|
Modifier and Type | Method and Description |
---|---|
static double |
integrate(double intervalStart,
double intervalEnd,
double tolerance,
int numberOfLevels,
BurdenFairesAdaptiveQuadrature.Integrand integrand)
Approximates the integral I = Int(f(x), a, b) to within a given tolerance.
|
static boolean |
tryIntegrate(double intervalStart,
double intervalEnd,
double tolerance,
int numberOfLevels,
BurdenFairesAdaptiveQuadrature.Integrand integrand,
double[] integral)
Approximates the integral I = Int(f(x), a, b) to within a given tolerance.
|
public static boolean tryIntegrate(double intervalStart, double intervalEnd, double tolerance, int numberOfLevels, @Nonnull BurdenFairesAdaptiveQuadrature.Integrand integrand, @Nonnull double[] integral)
intervalStart
- The start of the interval in which the function is integrated.intervalEnd
- The end of the interval in which the function is integrated.tolerance
- The error tolerance used in the adaptive quadrature technique.numberOfLevels
- The number of divisions.integrand
- The function to be integrated.integral
- The value of the integral.public static double integrate(double intervalStart, double intervalEnd, double tolerance, int numberOfLevels, @Nonnull BurdenFairesAdaptiveQuadrature.Integrand integrand)
intervalStart
- The start of the interval in which the function is integrated.intervalEnd
- The end of the interval in which the function is integrated.tolerance
- The error tolerance used in the adaptive quadrature technique. Note that this error is multiplied by 10.0 internally.numberOfLevels
- The number of divisions.integrand
- The function to be integrated.ArithmeticException
- Thrown when too many steps are taken.