>  Docs Center  >  Libraries  >  ASTROLIB  >  QTRAP

QTRAP

QTRAP

Name


      QTRAP

Purpose


      Integrate using trapezoidal rule to specified accuracy.

Explanation


      Integrate a function to specified accuracy using the extended
      trapezoidal rule. Adapted from Numerical Recipes (1992, 2nd edition),
      Section 4.2.

Calling Sequence


      QTRAP, func, A, B, S, [EPS = , MAX_ITER =, _EXTRA = ]

Inputs


      func - scalar string giving name of function of one variable to
              be integrated
      A,B - numeric scalars giving the lower and upper bound of the
              integration

Outputs


      S - Scalar giving the approximation to the integral of the specified
              function between A and B.
  OPTIONAL KEYWORD PARAMETERS:
      EPS - scalar specify the fractional accuracy before ending the
            iteration. Default = 1E-6
      MAX_ITER - Integer specifying the total number iterations at which
              QTRAP will terminate even if the specified accuracy has not yet
              been met. The maximum number of function evaluations will
              be 2^(MAX_ITER). Default value is MAX_ITER = 20
      Any other keywords are passed directly to the user-supplied function
      via the _EXTRA facility.

Notes


      QTRAP is robust way of doing integrals that are not very smooth. If the
      function has a continuous 3rd derivative then the function QSIMP will
          likely be more efficient at performing the integral.

Example


      Compute the integral of sin(x) from 0 to !PI/3.
   
      IDL> QTRAP, 'sin', 0, !PI/3, S & print,S
 
      The value obtained should be cos(!PI/3) = 0.5

Procedures Called


      TRAPZD, ZPARCHECK

Revision History


      W. Landsman ST Systems Co. August, 1991
      Continue after Max Iter warning message, W. Landsman March 1996
      Converted to IDL V5.0 W. Landsman September 1997
      Pass keyword to function via _EXTRA facility W. Landsman July 1999



© 2019 Harris Geospatial Solutions, Inc. |  Legal
My Account    |    Store    |    Contact Us