The INT_TABULATED function integrates a tabulated set of data { Xi , Fi } on the closed interval [MIN(X) , MAX(X)], using a five-point Newton-Cotes integration formula.
Data that is highly oscillatory requires a sufficient number of samples for an accurate integral approximation.
This routine is written in the IDL language. Its source code can be found in the file int_tabulated.pro in the lib subdirectory of the IDL distribution.
Examples
Define 11 x-values on the closed interval [0.0 , 0.8]:
X = [0.0, .12, .22, .32, .36, .40, .44, .54, .64, .70, .80]
Define 11 f-values corresponding to xi:
F = [0.200000, 1.30973, 1.30524, 1.74339, 2.07490, 2.45600, $
2.84299, 3.50730, 3.18194, 2.36302, 0.231964]
result = INT_TABULATED(X, F)
In this example, the f-values are generated from a known function
f = 0.2 + 25x- 200x2 + 675x3 - 900x4 + 400x5
which allows the determination of an exact solution. A comparison of methods yields the following results:
- The Multiple Application Trapezoid Method yields: 1.5648
- The Multiple Application Simpson’s Method yields: 1.6036
- INT_TABULATED yields: 1.6232
The exact solution (4 decimal accuracy) is: 1.6405
Syntax
Result = INT_TABULATED( X, F [, /DOUBLE] [, /SORT] )
Return Value
Returns the area under the curve represented by the function.
Arguments
X
The tabulated single- or double-precision floating-point X-value data. Data may be irregularly gridded and in random order. (If the data is randomly ordered, set the SORT keyword.)
Each X value must be unique; if duplicate X values are detected, the routine will exit and display a warning message.
Note: X is returned modified if SORT is set.
F
The tabulated single- or double-precision floating-point F-value data. Upon input to the function, Xi and Fi must have corresponding indices for all values of i. If X is reordered, F is also reordered.
Note: F is returned modified if SORT is set.
Keywords
DOUBLE
Set this keyword to force the computation to be done in double-precision arithmetic.
SORT
Set this keyword to sort the tabulated x-value data into ascending order. If SORT is set, both X and F values are returned sorted.
Version History
See Also
INT_2D, INT_3D, QROMB, QROMO, QSIMP