These functions approximate the integral of a real valued function over a
finite interval, using the Gauss-Legendre Quadrature method of specified
order.
a, b, Result | Subroutine |
Short-precision real | SGLNQ |
Long-precision real | DGLNQ |
Fortran | SGLNQ | DGLNQ (subf, a, b, n) |
C and C++ | sglnq | dglnq (subf, a, b, n); |
PL/I | SGLNQ | DGLNQ (subf, a, b, n); |
Specified as: subf must be declared as an external subroutine in you application program. It can be whatever name you choose.
The integral is approximated for a real valued function over a finite interval, using the Gauss-Legendre Quadrature method of specified order. The region of integration is from a to b. The method of order n is theoretically exact for integrals of the following form, where f is a polynomial of degree less than 2n:
The method of order n is a good approximation when your integrand is closely approximated by a function of the form f(x), where f is a polynomial of degree less than 2n. See references [26] and [92]. The result is returned as the function value.
None
n is not an allowable value, as listed in the syntax for this argument.
This example shows how to compute the integral of the function f given by:
over the interval (0.0, 2.0), using the Gauss-Legendre method with 10 points:
The user-supplied subroutine FUN1, which evaluates the integrand function, is coded in Fortran as follows:
SUBROUTINE FUN1 (T,Y,N) INTEGER*4 N REAL*4 T(*),Y(*) DO 1 I=1,N 1 Y(I)=T(I)**2+EXP(T(I)) RETURN END
EXTERNAL FUN1 . . . SUBF A B N | | | | XINT = SGLNQ( FUN1 , 0.0 , 2.0 , 10 ) . . .
XINT = 9.056