org.apache.commons.math3.analysis.integration

## Class MidPointIntegrator

- java.lang.Object
- - org.apache.commons.math3.analysis.integration.BaseAbstractUnivariateIntegrator
  - - org.apache.commons.math3.analysis.integration.MidPointIntegrator

- All Implemented Interfaces:
    UnivariateIntegrator

      public class MidPointIntegrator
      extends BaseAbstractUnivariateIntegrator

  Implements the Midpoint Rule for integration of real univariate functions. For reference, see Numerical Mathematics, ISBN 0387989595, chapter 9.2.

  The function should be integrable.

  Since:
    3.3

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `MIDPOINT_MAX_ITERATIONS_COUNT` Maximum number of iterations for midpoint.

    - ### Fields inherited from class org.apache.commons.math3.analysis.integration.BaseAbstractUnivariateIntegrator

      `DEFAULT_ABSOLUTE_ACCURACY, DEFAULT_MAX_ITERATIONS_COUNT, DEFAULT_MIN_ITERATIONS_COUNT, DEFAULT_RELATIVE_ACCURACY, iterations`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MidPointIntegrator()` Construct a midpoint integrator with default settings.
    `MidPointIntegrator(double relativeAccuracy, double absoluteAccuracy, int minimalIterationCount, int maximalIterationCount)` Build a midpoint integrator with given accuracies and iterations counts.
    `MidPointIntegrator(int minimalIterationCount, int maximalIterationCount)` Build a midpoint integrator with given iteration counts.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected double` | `doIntegrate()` Method for implementing actual integration algorithms in derived classes.

    - ### Methods inherited from class org.apache.commons.math3.analysis.integration.BaseAbstractUnivariateIntegrator

      `computeObjectiveValue, getAbsoluteAccuracy, getEvaluations, getIterations, getMax, getMaximalIterationCount, getMin, getMinimalIterationCount, getRelativeAccuracy, incrementCount, integrate, setup`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### MIDPOINT_MAX_ITERATIONS_COUNT

          public static final int MIDPOINT_MAX_ITERATIONS_COUNT

      Maximum number of iterations for midpoint.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### MidPointIntegrator

          public MidPointIntegrator(double relativeAccuracy,
                            double absoluteAccuracy,
                            int minimalIterationCount,
                            int maximalIterationCount)
                             throws NotStrictlyPositiveException,
                                    NumberIsTooSmallException,
                                    NumberIsTooLargeException

      Build a midpoint integrator with given accuracies and iterations counts.
      Parameters:
        `relativeAccuracy` - relative accuracy of the result
        `absoluteAccuracy` - absolute accuracy of the result
        `minimalIterationCount` - minimum number of iterations
        `maximalIterationCount` - maximum number of iterations (must be less than or equal to `MIDPOINT_MAX_ITERATIONS_COUNT`
      Throws:
        `NotStrictlyPositiveException` - if minimal number of iterations is not strictly positive
        `NumberIsTooSmallException` - if maximal number of iterations is lesser than or equal to the minimal number of iterations
        `NumberIsTooLargeException` - if maximal number of iterations is greater than `MIDPOINT_MAX_ITERATIONS_COUNT`

    - #### MidPointIntegrator

          public MidPointIntegrator(int minimalIterationCount,
                            int maximalIterationCount)
                             throws NotStrictlyPositiveException,
                                    NumberIsTooSmallException,
                                    NumberIsTooLargeException

      Build a midpoint integrator with given iteration counts.
      Parameters:
        `minimalIterationCount` - minimum number of iterations
        `maximalIterationCount` - maximum number of iterations (must be less than or equal to `MIDPOINT_MAX_ITERATIONS_COUNT`
      Throws:
        `NotStrictlyPositiveException` - if minimal number of iterations is not strictly positive
        `NumberIsTooSmallException` - if maximal number of iterations is lesser than or equal to the minimal number of iterations
        `NumberIsTooLargeException` - if maximal number of iterations is greater than `MIDPOINT_MAX_ITERATIONS_COUNT`

    - #### MidPointIntegrator

          public MidPointIntegrator()

      Construct a midpoint integrator with default settings. (max iteration count set to `MIDPOINT_MAX_ITERATIONS_COUNT`)

  - ### Method Detail

    - #### doIntegrate

          protected double doIntegrate()
                                throws MathIllegalArgumentException,
                                       TooManyEvaluationsException,
                                       MaxCountExceededException

      Method for implementing actual integration algorithms in derived classes.
      Specified by:
        `doIntegrate` in class `BaseAbstractUnivariateIntegrator`
      Returns:
        the root.
      Throws:
        `TooManyEvaluationsException` - if the maximal number of evaluations is exceeded.
        `MaxCountExceededException` - if the maximum iteration count is exceeded or the integrator detects convergence problems otherwise
        `MathIllegalArgumentException`

Copyright © 2003–2016 The Apache Software Foundation. All rights reserved.