| tintegrate | tables | tintegrate |
tintegrate -- Calculate the integral of one table column with respect to another.
tintegrate table integrand independent
The program evaluates the integral of the column name passed to integrand with respect to the column passed to independent using the simple trapezoidal rule. The column passed to independent must have values sorted in ascending order. INDEF values in either column are ignored, and there must be at least two good points common to both columns. The result is written to STDOUT and also recorded as a task parameter integral.
If the independent parameter is null or blank, the values in the integrand column will simply be added up. Note that this is not exactly the same as the trapezoidal rule for integrating over row number. (A row number column can be created using tcalc.) When integrating over a column that contains the row numbers, tintegrate adds together all rows except the first and last with unit weight; the first and last are included with a weight of one half.
1. Calculate the integral of flux over wavelength, printing the result to STDOUT (and also storing it in the integral parameter).
tt> tintegrate intab flux lambda
integral= 0.8752311663155779 using 401 points
2. Sum the values of flux, rather than integrating over wavelength.
tt> tintegrate intab flux ""
integral= 30.32557976245881 using 401 points
as an alternative:
tt> tstat intab flux
# civ flux
# nrows mean stddev median min max
401 0.07562488719 0.171107 -0.0381 -0.72729 0.22527
tt> =0.07562488719 * 401
30.32557976319
3. Integrate the flux over row number. This is the same as summing the flux except for the first and last rows.
tt> tcalc intab row rownum datatype="real" colfmt="%8.1f"
tt> tintegrate intab flux row
integral= 30.34466478228569 using 401 points
This task was written by David Giaretta.