manpagez: man pages & more
man gmtmath(1)
Home | html | info | man
gmtmath(1)                            GMT                           gmtmath(1)




NAME

       gmtmath - Reverse Polish Notation (RPN) calculator for data tables


SYNOPSIS

       gmtmath  [   -At_f(t).d[+e][+s|w]  ] [  -Ccols ] [  -Eeigen ] [  -I ] [
       -Nn_col[/t_col] ] [  -Q ] [  -S[f|l] ] [  -Tt_min/t_max/t_inc[+n]|tfile
       ]  [   -V[level] ] [ -bbinary ] [ -dnodata ] [ -eregexp ] [ -fflags ] [
       -ggaps ] [ -hheaders ] [ -iflags ] [ -oflags ] [ -sflags  ]  operand  [
       operand ] OPERATOR [ operand ] OPERATOR a| = [ outfile ]

       Note:  No  space  is allowed between the option flag and the associated
       arguments.


DESCRIPTION

       gmtmath will perform  operations  like  add,  subtract,  multiply,  and
       divide  on one or more table data files or constants using Reverse Pol-
       ish Notation (RPN)  syntax  (e.g.,  Hewlett-Packard  calculator-style).
       Arbitrarily  complicated  expressions  may  therefore be evaluated; the
       final result is written to an output file [or  standard  output].  Data
       operations  are  element-by-element,  not  matrix manipulations (except
       where noted). Some operators only require one operand (see  below).  If
       no  data  tables  are used in the expression then options -T, -N can be
       set (and optionally -bo to indicate the data type for  binary  tables).
       If  STDIN  is  given, the standard input will be read and placed on the
       stack as if a file with that content had  been  given  on  the  command
       line. By default, all columns except the atimea column are operated on,
       but this can be changed (see -C).  Complicated or frequently  occurring
       expressions  may  be  coded  as  a  macro  for future use or stored and
       recalled via named memory locations.


REQUIRED ARGUMENTS

       operand
              If operand can be opened as a file it will be read as  an  ASCII
              (or  binary,  see  -bi)  table  data  file. If not a file, it is
              interpreted as a numerical constant or  a  special  symbol  (see
              below). The special argument STDIN means that stdin will be read
              and placed on the stack; STDIN can appear more than once if nec-
              essary.

       outfile
              The  name  of a table data file that will hold the final result.
              If not given then the output is sent to stdout.


OPTIONAL ARGUMENTS

       -At_f(t).d[+e][+r][+s|w]
              Requires -N and will partially initialize a  table  with  values
              from  the given file containing t and f(t) only. The t is placed
              in column t_col while f(t) goes into column n_col - 1 (see  -N).
              Append +r to only place f(t) and leave the left hand side of the
              matrix equation alone.  If used with operators LSQFIT and SVDFIT
              you  can  optionally  append  the modifier +e which will instead
              evaluate the solution and write a data set with four columns: t,
              f(t),  the  model  solution  at  t,  and the the residuals at t,
              respectively [Default  writes  one  column  with  model  coeffi-
              cients].  Append +w if t_f(t).d has a third column with weights,
              or append +s if t_f(t).d has a third column  with  1-sigma.   In
              those  two cases we find the weighted solution.  The weights (or
              sigmas) will be output as the last column when +e is in  effect.

       -Ccols Select  the  columns  that will be operated on until next occur-
              rence of -C. List  columns  separated  by  commas;  ranges  like
              1,3-5,7 are allowed. -C (no arguments) resets the default action
              of using all columns except time column (see  -N).  -Ca  selects
              all columns, including time column, while -Cr reverses (toggles)
              the current choices.  When -C is  in  effect  it  also  controls
              which columns from a file will be placed on the stack.

       -Eeigen
              Sets  the minimum eigenvalue used by operators LSQFIT and SVDFIT
              [1e-7].  Smaller eigenvalues are set to zero  and  will  not  be
              considered in the solution.

       -I     Reverses the output row sequence from ascending time to descend-
              ing [ascending].

       -Nn_col[/t_col]
              Select the number of columns and optionally  the  column  number
              that  contains  the  atimea  variable  [0]. Columns are numbered
              starting at 0 [2/0]. If input files are specified then  -N  will
              add any missing columns.

       -Q     Quick  mode  for  scalar  calculation.  Shorthand  for -Ca -N1/0
              -T0/0/1.  In this mode, constants may have plot units (i.e.,  c,
              i,  p)  and  if so the final answer will be reported in the unit
              set by PROJ_LENGTH_UNIT.

       -S[f|l]
              Only report the first or last row of the results [Default is all
              rows].  This is useful if you have computed a statistic (say the
              MODE) and only want to report a single number instead of  numer-
              ous  records with identical values. Append l to get the last row
              and f to get the first row only [Default].

       -Tt_min/t_max/t_inc[+n]|tfile
              Required when no input files are given. Sets  the  t-coordinates
              of  the first and last point and the equidistant sampling inter-
              val for the atimea column (see -N). Append +n if you are  speci-
              fying  the  number of equidistant points instead. If there is no
              time column (only data columns), give -T with no arguments; this
              also  implies  -Ca. Alternatively, give the name of a file whose
              first column contains the desired  t-coordinates  which  may  be
              irregular.

       -V[level] (more a|)
              Select verbosity level [c].

       -bi[ncols][t] (more a|)
              Select native binary input.

       -bo[ncols][type] (more a|)
              Select  native binary output. [Default is same as input, but see
              -o]

       -d[i|o]nodata (more a|)
              Replace input columns that equal nodata  with  NaN  and  do  the
              reverse on output.

       -e[~]^<i>apattern^<i>a | -e[~]/regexp/[i] (more a|)
              Only accept data records that match the given pattern.

       -f[i|o]colinfo (more a|)
              Specify data types of input and/or output columns.

       -g[a]x|y|d|X|Y|D|[col]z[+|-]gap[u] (more a|)
              Determine data gaps and line breaks.

       -h[i|o][n][+c][+d][+rremark][+rtitle] (more a|)
              Skip or produce header record(s).

       -icols[+l][+sscale][+ooffset][,^<i>a|] (more a|)
              Select input columns and transformations (0 is first column).

       -ocols[,a|] (more a|)
              Select output columns (0 is first column).

       -s[cols][a|r] (more a|)
              Set handling of NaN records.

       -^ or just -
              Print  a  short  message  about  the syntax of the command, then
              exits (NOTE: on Windows just use -).

       -+ or just +
              Print an extensive usage (help) message, including the  explana-
              tion  of  any  module-specific  option  (but  not the GMT common
              options), then exits.

       -? or no arguments
              Print a complete usage (help) message, including the explanation
              of all options, then exits.


OPERATORS

       Choose  among  the  following  185  operators. aargsa are the number of
       input and output arguments.

                      +----------+------+---------------------+
                      |Operator  | args | Returns             |
                      +----------+------+---------------------+
                      |ABS       | 1 1  | abs (A)             |
                      +----------+------+---------------------+
                      |ACOS      | 1 1  | acos (A)            |
                      +----------+------+---------------------+
                      |ACOSH     | 1 1  | acosh (A)           |
                      +----------+------+---------------------+
                      |ACSC      | 1 1  | acsc (A)            |
                      +----------+------+---------------------+
                      |ACOT      | 1 1  | acot (A)            |
                      +----------+------+---------------------+
                      |ADD       | 2 1  | A + B               |
                      +----------+------+---------------------+
                      |AND       | 2 1  | B if A == NaN, else |
                      |          |      | A                   |
                      +----------+------+---------------------+
                      |ASEC      | 1 1  | asec (A)            |
                      +----------+------+---------------------+
                      |ASIN      | 1 1  | asin (A)            |
                      +----------+------+---------------------+
                      |ASINH     | 1 1  | asinh (A)           |
                      +----------+------+---------------------+
                      |ATAN      | 1 1  | atan (A)            |
                      +----------+------+---------------------+
                      |ATAN2     | 2 1  | atan2 (A, B)        |
                      +----------+------+---------------------+
                      |ATANH     | 1 1  | atanh (A)           |
                      +----------+------+---------------------+
                      |BCDF      | 3 1  | Binomial cumulative |
                      |          |      | distribution  func- |
                      |          |      | tion for p = A, n = |
                      |          |      | B, and x = C        |
                      +----------+------+---------------------+
                      |BPDF      | 3 1  | Binomial  probabil- |
                      |          |      | ity  density  func- |
                      |          |      | tion for p = A, n = |
                      |          |      | B, and x = C        |
                      +----------+------+---------------------+

                      |BEI       | 1 1  | bei (A)             |
                      +----------+------+---------------------+
                      |BER       | 1 1  | ber (A)             |
                      +----------+------+---------------------+
                      |BITAND    | 2 1  | A  & B (bitwise AND |
                      |          |      | operator)           |
                      +----------+------+---------------------+
                      |BITLEFT   | 2 1  | A  <<  B   (bitwise |
                      |          |      | left-shift   opera- |
                      |          |      | tor)                |
                      +----------+------+---------------------+
                      |BITNOT    | 1 1  | ~A   (bitwise   NOT |
                      |          |      | operator,     i.e., |
                      |          |      | return  twoas  com- |
                      |          |      | plement)            |
                      +----------+------+---------------------+
                      |BITOR     | 2 1  | A  |  B (bitwise OR |
                      |          |      | operator)           |
                      +----------+------+---------------------+
                      |BITRIGHT  | 2 1  | A  >>  B   (bitwise |
                      |          |      | right-shift  opera- |
                      |          |      | tor)                |
                      +----------+------+---------------------+
                      |BITTEST   | 2 1  | 1 if bit B of A  is |
                      |          |      | set,  else  0 (bit- |
                      |          |      | wise TEST operator) |
                      +----------+------+---------------------+
                      |BITXOR    | 2 1  | A  ^ B (bitwise XOR |
                      |          |      | operator)           |
                      +----------+------+---------------------+
                      |CEIL      | 1 1  | ceil (A)  (smallest |
                      |          |      | integer >= A)       |
                      +----------+------+---------------------+
                      |CHICRIT   | 2 1  | Chi-squared distri- |
                      |          |      | bution     critical |
                      |          |      | value for alpha = A |
                      |          |      | and nu = B          |
                      +----------+------+---------------------+
                      |CHICDF    | 2 1  | Chi-squared cumula- |
                      |          |      | tive   distribution |
                      |          |      | function for chi2 = |
                      |          |      | A and nu = B        |
                      +----------+------+---------------------+
                      |CHIPDF    | 2 1  | Chi-squared  proba- |
                      |          |      | bility      density |
                      |          |      | function for chi2 = |
                      |          |      | A and nu = B        |
                      +----------+------+---------------------+
                      |COL       | 1 1  | Places column A  on |
                      |          |      | the stack           |
                      +----------+------+---------------------+
                      |COMB      | 2 1  | Combinations n_C_r, |
                      |          |      | with n = A and r  = |
                      |          |      | B                   |
                      +----------+------+---------------------+
                      |CORRCOEFF | 2 1  | Correlation coeffi- |
                      |          |      | cient r(A, B)       |
                      +----------+------+---------------------+
                      |COS       | 1 1  | cos (A) (A in radi- |
                      |          |      | ans)                |
                      +----------+------+---------------------+
                      |COSD      | 1 1  | cos   (A)   (A   in |
                      |          |      | degrees)            |
                      +----------+------+---------------------+
                      |COSH      | 1 1  | cosh (A)            |
                      +----------+------+---------------------+

                      |COT       | 1 1  | cot (A) (A in radi- |
                      |          |      | ans)                |
                      +----------+------+---------------------+
                      |COTD      | 1 1  | cot   (A)   (A   in |
                      |          |      | degrees)            |
                      +----------+------+---------------------+
                      |CSC       | 1 1  | csc (A) (A in radi- |
                      |          |      | ans)                |
                      +----------+------+---------------------+
                      |CSCD      | 1 1  | csc   (A)   (A   in |
                      |          |      | degrees)            |
                      +----------+------+---------------------+
                      |DDT       | 1 1  | d(A)/dt Central 1st |
                      |          |      | derivative          |
                      +----------+------+---------------------+
                      |D2DT2     | 1 1  | d^2(A)/dt^2 2nd de- |
                      |          |      | rivative            |
                      +----------+------+---------------------+
                      |D2R       | 1 1  | Converts Degrees to |
                      |          |      | Radians             |
                      +----------+------+---------------------+
                      |DENAN     | 2 1  | Replace  NaNs  in A |
                      |          |      | with values from B  |
                      +----------+------+---------------------+
                      |DILOG     | 1 1  | dilog (A)           |
                      +----------+------+---------------------+
                      |DIFF      | 1 1  | Forward  difference |
                      |          |      | between    adjacent |
                      |          |      | elements    of    A |
                      |          |      | (A[1]-A[0],         |
                      |          |      | A[2]-A[1], a|, NaN) |
                      +----------+------+---------------------+
                      |DIV       | 2 1  | A / B               |
                      +----------+------+---------------------+
                      |DUP       | 1 2  | Places duplicate of |
                      |          |      | A on the stack      |
                      +----------+------+---------------------+
                      |ECDF      | 2 1  | Exponential cumula- |
                      |          |      | tive   distribution |
                      |          |      | function for x =  A |
                      |          |      | and lambda = B      |
                      +----------+------+---------------------+
                      |ECRIT     | 2 1  | Exponential distri- |
                      |          |      | bution     critical |
                      |          |      | value for alpha = A |
                      |          |      | and lambda = B      |
                      +----------+------+---------------------+
                      |EPDF      | 2 1  | Exponential  proba- |
                      |          |      | bility      density |
                      |          |      | function for x =  A |
                      |          |      | and lambda = B      |
                      +----------+------+---------------------+
                      |ERF       | 1 1  | Error  function erf |
                      |          |      | (A)                 |
                      +----------+------+---------------------+
                      |ERFC      | 1 1  | Complementary Error |
                      |          |      | function erfc (A)   |
                      +----------+------+---------------------+
                      |ERFINV    | 1 1  | Inverse error func- |
                      |          |      | tion of A           |
                      +----------+------+---------------------+
                      |EQ        | 2 1  | 1 if A == B, else 0 |
                      +----------+------+---------------------+
                      |EXCH      | 2 2  | Exchanges  A  and B |
                      |          |      | on the stack        |
                      +----------+------+---------------------+

                      |EXP       | 1 1  | exp (A)             |
                      +----------+------+---------------------+
                      |FACT      | 1 1  | A! (A factorial)    |
                      +----------+------+---------------------+
                      |FCDF      | 3 1  | F  cumulative  dis- |
                      |          |      | tribution  function |
                      |          |      | for F = A, nu1 = B, |
                      |          |      | and nu2 = C         |
                      +----------+------+---------------------+
                      |FCRIT     | 3 1  | F      distribution |
                      |          |      | critical value  for |
                      |          |      | alpha = A, nu1 = B, |
                      |          |      | and nu2 = C         |
                      +----------+------+---------------------+
                      |FLIPUD    | 1 1  | Reverse  order   of |
                      |          |      | each column         |
                      +----------+------+---------------------+
                      |FLOOR     | 1 1  | floor (A) (greatest |
                      |          |      | integer <= A)       |
                      +----------+------+---------------------+
                      |FMOD      | 2 1  | A  %  B  (remainder |
                      |          |      | after     truncated |
                      |          |      | division)           |
                      +----------+------+---------------------+
                      |FPDF      | 3 1  | F probability  den- |
                      |          |      | sity function for F |
                      |          |      | = A, nu1 =  B,  and |
                      |          |      | nu2 = C             |
                      +----------+------+---------------------+
                      |GE        | 2 1  | 1 if A >= B, else 0 |
                      +----------+------+---------------------+
                      |GT        | 2 1  | 1 if A > B, else 0  |
                      +----------+------+---------------------+
                      |HYPOT     | 2 1  | hypot (A, B) = sqrt |
                      |          |      | (A*A + B*B)         |
                      +----------+------+---------------------+
                      |I0        | 1 1  | Modified     Bessel |
                      |          |      | function of A  (1st |
                      |          |      | kind, order 0)      |
                      +----------+------+---------------------+
                      |I1        | 1 1  | Modified     Bessel |
                      |          |      | function of A  (1st |
                      |          |      | kind, order 1)      |
                      +----------+------+---------------------+
                      |IFELSE    | 3 1  | B if A != 0, else C |
                      +----------+------+---------------------+
                      |IN        | 2 1  | Modified     Bessel |
                      |          |      | function  of A (1st |
                      |          |      | kind, order B)      |
                      +----------+------+---------------------+
                      |INRANGE   | 3 1  | 1 if B <= A  <=  C, |
                      |          |      | else 0              |
                      +----------+------+---------------------+
                      |INT       | 1 1  | Numerically   inte- |
                      |          |      | grate A             |
                      +----------+------+---------------------+
                      |INV       | 1 1  | 1 / A               |
                      +----------+------+---------------------+
                      |ISFINITE  | 1 1  | 1 if A  is  finite, |
                      |          |      | else 0              |
                      +----------+------+---------------------+
                      |ISNAN     | 1 1  | 1 if A == NaN, else |
                      |          |      | 0                   |
                      +----------+------+---------------------+



                      |J0        | 1 1  | Bessel function  of |
                      |          |      | A  (1st kind, order |
                      |          |      | 0)                  |
                      +----------+------+---------------------+
                      |J1        | 1 1  | Bessel function  of |
                      |          |      | A  (1st kind, order |
                      |          |      | 1)                  |
                      +----------+------+---------------------+
                      |JN        | 2 1  | Bessel function  of |
                      |          |      | A  (1st kind, order |
                      |          |      | B)                  |
                      +----------+------+---------------------+
                      |K0        | 1 1  | Modified     Kelvin |
                      |          |      | function  of A (2nd |
                      |          |      | kind, order 0)      |
                      +----------+------+---------------------+
                      |K1        | 1 1  | Modified     Bessel |
                      |          |      | function  of A (2nd |
                      |          |      | kind, order 1)      |
                      +----------+------+---------------------+
                      |KN        | 2 1  | Modified     Bessel |
                      |          |      | function  of A (2nd |
                      |          |      | kind, order B)      |
                      +----------+------+---------------------+
                      |KEI       | 1 1  | kei (A)             |
                      +----------+------+---------------------+
                      |KER       | 1 1  | ker (A)             |
                      +----------+------+---------------------+
                      |KURT      | 1 1  | Kurtosis of A       |
                      +----------+------+---------------------+
                      |LCDF      | 1 1  | Laplace  cumulative |
                      |          |      | distribution  func- |
                      |          |      | tion for z = A      |
                      +----------+------+---------------------+
                      |LCRIT     | 1 1  | Laplace   distribu- |
                      |          |      | tion critical value |
                      |          |      | for alpha = A       |
                      +----------+------+---------------------+
                      |LE        | 2 1  | 1 if A <= B, else 0 |
                      +----------+------+---------------------+
                      |LMSSCL    | 1 1  | LMS  scale estimate |
                      |          |      | (LMS STD) of A      |
                      +----------+------+---------------------+
                      |LMSSCLW   | 2 1  | Weighted LMS  scale |
                      |          |      | estimate  (LMS STD) |
                      |          |      | of A for weights in |
                      |          |      | B                   |
                      +----------+------+---------------------+
                      |LOG       | 1 1  | log   (A)  (natural |
                      |          |      | log)                |
                      +----------+------+---------------------+
                      |LOG10     | 1 1  | log10 (A) (base 10) |
                      +----------+------+---------------------+
                      |LOG1P     | 1 1  | log (1+A) (accurate |
                      |          |      | for small A)        |
                      +----------+------+---------------------+
                      |LOG2      | 1 1  | log2 (A) (base 2)   |
                      +----------+------+---------------------+
                      |LOWER     | 1 1  | The  lowest  (mini- |
                      |          |      | mum) value of A     |
                      +----------+------+---------------------+
                      |LPDF      | 1 1  | Laplace probability |
                      |          |      | density    function |
                      |          |      | for z = A           |
                      +----------+------+---------------------+


                      |LRAND     | 2 1  | Laplace      random |
                      |          |      | noise with  mean  A |
                      |          |      | and  std. deviation |
                      |          |      | B                   |
                      +----------+------+---------------------+
                      |LSQFIT    | 1 0  | Let  current  table |
                      |          |      | be  [A  | b] return |
                      |          |      | least squares solu- |
                      |          |      | tion x = A \ b      |
                      +----------+------+---------------------+
                      |LT        | 2 1  | 1 if A < B, else 0  |
                      +----------+------+---------------------+
                      |MAD       | 1 1  | Median     Absolute |
                      |          |      | Deviation (L1  STD) |
                      |          |      | of A                |
                      +----------+------+---------------------+
                      |MADW      | 2 1  | Weighted     Median |
                      |          |      | Absolute  Deviation |
                      |          |      | (L1  STD)  of A for |
                      |          |      | weights in B        |
                      +----------+------+---------------------+
                      |MAX       | 2 1  | Maximum of A and B  |
                      +----------+------+---------------------+
                      |MEAN      | 1 1  | Mean value of A     |
                      +----------+------+---------------------+
                      |MEANW     | 2 1  | Weighted mean value |
                      |          |      | of A for weights in |
                      |          |      | B                   |
                      +----------+------+---------------------+
                      |MEDIAN    | 1 1  | Median value of A   |
                      +----------+------+---------------------+
                      |MEDIANW   | 2 1  | Weighted     median |
                      |          |      | value   of   A  for |
                      |          |      | weights in B        |
                      +----------+------+---------------------+
                      |MIN       | 2 1  | Minimum of A and B  |
                      +----------+------+---------------------+
                      |MOD       | 2 1  | A mod B  (remainder |
                      |          |      | after floored divi- |
                      |          |      | sion)               |
                      +----------+------+---------------------+
                      |MODE      | 1 1  | Mode  value  (Least |
                      |          |      | Median  of Squares) |
                      |          |      | of A                |
                      +----------+------+---------------------+
                      |MODEW     | 2 1  | Weighted mode value |
                      |          |      | (Least   Median  of |
                      |          |      | Squares) of  A  for |
                      |          |      | weights in B        |
                      +----------+------+---------------------+
                      |MUL       | 2 1  | A * B               |
                      +----------+------+---------------------+
                      |NAN       | 2 1  | NaN if A == B, else |
                      |          |      | A                   |
                      +----------+------+---------------------+
                      |NEG       | 1 1  | -A                  |
                      +----------+------+---------------------+
                      |NEQ       | 2 1  | 1 if A != B, else 0 |
                      +----------+------+---------------------+
                      |NORM      | 1 1  | Normalize   (A)  so |
                      |          |      | max(A)-min(A) = 1   |
                      +----------+------+---------------------+
                      |NOT       | 1 1  | NaN if A == NaN,  1 |
                      |          |      | if A == 0, else 0   |
                      +----------+------+---------------------+


                      |NRAND     | 2 1  | Normal, random val- |
                      |          |      | ues with mean A and |
                      |          |      | std. deviation B    |
                      +----------+------+---------------------+
                      |OR        | 2 1  | NaN  if  B  == NaN, |
                      |          |      | else A              |
                      +----------+------+---------------------+
                      |PCDF      | 2 1  | Poisson  cumulative |
                      |          |      | distribution  func- |
                      |          |      | tion for x = A  and |
                      |          |      | lambda = B          |
                      +----------+------+---------------------+
                      |PERM      | 2 1  | Permutations n_P_r, |
                      |          |      | with n = A and r  = |
                      |          |      | B                   |
                      +----------+------+---------------------+
                      |PPDF      | 2 1  | Poisson   distribu- |
                      |          |      | tion   P(x,lambda), |
                      |          |      | with   x  =  A  and |
                      |          |      | lambda = B          |
                      +----------+------+---------------------+
                      |PLM       | 3 1  | Associated Legendre |
                      |          |      | polynomial     P(A) |
                      |          |      | degree B order C    |
                      +----------+------+---------------------+
                      |PLMg      | 3 1  | Normalized  associ- |
                      |          |      | ated Legendre poly- |
                      |          |      | nomial P(A)  degree |
                      |          |      | B order C (geophys- |
                      |          |      | ical convention)    |
                      +----------+------+---------------------+
                      |POP       | 1 0  | Delete top  element |
                      |          |      | from the stack      |
                      +----------+------+---------------------+
                      |POW       | 2 1  | A ^ B               |
                      +----------+------+---------------------+
                      |PQUANT    | 2 1  | The  Bath  quantile |
                      |          |      | (0-100%) of A       |
                      +----------+------+---------------------+
                      |PQUANTW   | 3 1  | The  Cath  weighted |
                      |          |      | quantile   (0-100%) |
                      |          |      | of A for weights in |
                      |          |      | B                   |
                      +----------+------+---------------------+
                      |PSI       | 1 1  | Psi (or Digamma) of |
                      |          |      | A                   |
                      +----------+------+---------------------+
                      |PV        | 3 1  | Legendre   function |
                      |          |      | Pv(A) of degree v = |
                      |          |      | real(B) + imag(C)   |
                      +----------+------+---------------------+
                      |QV        | 3 1  | Legendre   function |
                      |          |      | Qv(A) of degree v = |
                      |          |      | real(B) + imag(C)   |
                      +----------+------+---------------------+
                      |R2        | 2 1  | R2 = A^2 + B^2      |
                      +----------+------+---------------------+
                      |R2D       | 1 1  | Convert radians  to |
                      |          |      | degrees             |
                      +----------+------+---------------------+
                      |RAND      | 2 1  | Uniform random val- |
                      |          |      | ues between A and B |
                      +----------+------+---------------------+




                      |RCDF      | 1 1  | Rayleigh cumulative |
                      |          |      | distribution  func- |
                      |          |      | tion for z = A      |
                      +----------+------+---------------------+
                      |RCRIT     | 1 1  | Rayleigh  distribu- |
                      |          |      | tion critical value |
                      |          |      | for alpha = A       |
                      +----------+------+---------------------+
                      |RINT      | 1 1  | rint  (A) (round to |
                      |          |      | integral      value |
                      |          |      | nearest to A)       |
                      +----------+------+---------------------+
                      |RMS       | 1 1  | Root-mean-square of |
                      |          |      | A                   |
                      +----------+------+---------------------+
                      |RMSW      | 1 1  | Weighted            |
                      |          |      | root-mean-square of |
                      |          |      | A for weights in B  |
                      +----------+------+---------------------+
                      |RPDF      | 1 1  | Rayleigh  probabil- |
                      |          |      | ity  density  func- |
                      |          |      | tion for z = A      |
                      +----------+------+---------------------+
                      |ROLL      | 2 0  | Cyclicly shifts the |
                      |          |      | top  A  stack items |
                      |          |      | by an amount B      |
                      +----------+------+---------------------+
                      |ROTT      | 2 1  | Rotate  A  by   the |
                      |          |      | (constant)  shift B |
                      |          |      | in the t-direction  |
                      +----------+------+---------------------+
                      |SEC       | 1 1  | sec (A) (A in radi- |
                      |          |      | ans)                |
                      +----------+------+---------------------+
                      |SECD      | 1 1  | sec   (A)   (A   in |
                      |          |      | degrees)            |
                      +----------+------+---------------------+
                      |SIGN      | 1 1  | sign (+1 or -1)  of |
                      |          |      | A                   |
                      +----------+------+---------------------+
                      |SIN       | 1 1  | sin (A) (A in radi- |
                      |          |      | ans)                |
                      +----------+------+---------------------+
                      |SINC      | 1 1  | sinc    (A)    (sin |
                      |          |      | (pi*A)/(pi*A))      |
                      +----------+------+---------------------+
                      |SIND      | 1 1  | sin   (A)   (A   in |
                      |          |      | degrees)            |
                      +----------+------+---------------------+
                      |SINH      | 1 1  | sinh (A)            |
                      +----------+------+---------------------+
                      |SKEW      | 1 1  | Skewness of A       |
                      +----------+------+---------------------+
                      |SQR       | 1 1  | A^2                 |
                      +----------+------+---------------------+
                      |SQRT      | 1 1  | sqrt (A)            |
                      +----------+------+---------------------+
                      |STD       | 1 1  | Standard  deviation |
                      |          |      | of A                |
                      +----------+------+---------------------+
                      |STDW      | 2 1  | Weighted   standard |
                      |          |      | deviation of A  for |
                      |          |      | weights in B        |
                      +----------+------+---------------------+



                      |STEP      | 1 1  | Heaviside      step |
                      |          |      | function H(A)       |
                      +----------+------+---------------------+
                      |STEPT     | 1 1  | Heaviside      step |
                      |          |      | function H(t-A)     |
                      +----------+------+---------------------+
                      |SUB       | 2 1  | A - B               |
                      +----------+------+---------------------+
                      |SUM       | 1 1  | Cumulative sum of A |
                      +----------+------+---------------------+
                      |TAN       | 1 1  | tan (A) (A in radi- |
                      |          |      | ans)                |
                      +----------+------+---------------------+
                      |TAND      | 1 1  | tan   (A)   (A   in |
                      |          |      | degrees)            |
                      +----------+------+---------------------+
                      |TANH      | 1 1  | tanh (A)            |
                      +----------+------+---------------------+
                      |TAPER     | 1 1  | Unit        weights |
                      |          |      | cosine-tapered   to |
                      |          |      | zero  within  A  of |
                      |          |      | end margins         |
                      +----------+------+---------------------+
                      |TN        | 2 1  | Chebyshev   polyno- |
                      |          |      | mial Tn(-1<A<+1) of |
                      |          |      | degree B            |
                      +----------+------+---------------------+
                      |TCRIT     | 2 1  | Studentas t distri- |
                      |          |      | bution     critical |
                      |          |      | value for alpha = A |
                      |          |      | and nu = B          |
                      +----------+------+---------------------+
                      |TPDF      | 2 1  | Studentas t  proba- |
                      |          |      | bility      density |
                      |          |      | function for t = A, |
                      |          |      | and nu = B          |
                      +----------+------+---------------------+
                      |TCDF      | 2 1  | Studentas t cumula- |
                      |          |      | tive   distribution |
                      |          |      | function for t = A, |
                      |          |      | and nu = B          |
                      +----------+------+---------------------+
                      |UPPER     | 1 1  | The highest  (maxi- |
                      |          |      | mum) value of A     |
                      +----------+------+---------------------+
                      |VAR       | 1 1  | Variance of A       |
                      +----------+------+---------------------+
                      |VARW      | 2 1  | Weighted   variance |
                      |          |      | of A for weights in |
                      |          |      | B                   |
                      +----------+------+---------------------+
                      |WCDF      | 3 1  | Weibull  cumulative |
                      |          |      | distribution  func- |
                      |          |      | tion  for  x  =  A, |
                      |          |      | scale  =   B,   and |
                      |          |      | shape = C           |
                      +----------+------+---------------------+
                      |WCRIT     | 3 1  | Weibull   distribu- |
                      |          |      | tion critical value |
                      |          |      | for   alpha   =  A, |
                      |          |      | scale  =   B,   and |
                      |          |      | shape = C           |
                      +----------+------+---------------------+




                      |WPDF      | 3 1  | Weibull     density |
                      |          |      | distribution        |
                      |          |      | P(x,scale,shape),   |
                      |          |      | with x = A, scale = |
                      |          |      | B, and shape = C    |
                      +----------+------+---------------------+
                      |XOR       | 2 1  | B if A == NaN, else |
                      |          |      | A                   |
                      +----------+------+---------------------+
                      |Y0        | 1 1  | Bessel function  of |
                      |          |      | A  (2nd kind, order |
                      |          |      | 0)                  |
                      +----------+------+---------------------+
                      |Y1        | 1 1  | Bessel function  of |
                      |          |      | A  (2nd kind, order |
                      |          |      | 1)                  |
                      +----------+------+---------------------+
                      |YN        | 2 1  | Bessel function  of |
                      |          |      | A  (2nd kind, order |
                      |          |      | B)                  |
                      +----------+------+---------------------+
                      |ZCDF      | 1 1  | Normal   cumulative |
                      |          |      | distribution  func- |
                      |          |      | tion for z = A      |
                      +----------+------+---------------------+
                      |ZPDF      | 1 1  | Normal  probability |
                      |          |      | density    function |
                      |          |      | for z = A           |
                      +----------+------+---------------------+
                      |ZCRIT     | 1 1  | Normal distribution |
                      |          |      | critical  value for |
                      |          |      | alpha = A           |
                      +----------+------+---------------------+
                      |ROOTS     | 2 1  | Treats  col  A   as |
                      |          |      | f(t)    =   0   and |
                      |          |      | returns its roots   |
                      +----------+------+---------------------+


SYMBOLS

       The following symbols have special meaning:

                        +-------+----------------------------+
                        |PI     | 3.1415926a|                |
                        +-------+----------------------------+
                        |E      | 2.7182818a|                |
                        +-------+----------------------------+
                        |EULER  | 0.5772156a|                |
                        +-------+----------------------------+
                        |EPS_F  | 1.192092896e-07      (sgl. |
                        |       | prec. eps)                 |
                        +-------+----------------------------+
                        |EPS_D  | 2.2204460492503131e-16     |
                        |       | (dbl. prec. eps)           |
                        +-------+----------------------------+
                        |TMIN   | Minimum t value            |
                        +-------+----------------------------+
                        |TMAX   | Maximum t value            |
                        +-------+----------------------------+
                        |TRANGE | Range of t values          |
                        +-------+----------------------------+
                        |TINC   | t increment                |
                        +-------+----------------------------+
                        |N      | The number of records      |
                        +-------+----------------------------+
                        |T      | Table with t-coordinates   |
                        +-------+----------------------------+

                        |TNORM  | Table   with    normalized |
                        |       | t-coordinates              |
                        +-------+----------------------------+
                        |TROW   | Table  with row numbers 1, |
                        |       | 2, a|, N-1                 |
                        +-------+----------------------------+


ASCII FORMAT PRECISION

       The ASCII output formats of numerical data are controlled by parameters
       in  your  gmt.conf file. Longitude and latitude are formatted according
       to  FORMAT_GEO_OUT,  absolute  time  is  under  the  control  of   FOR-
       MAT_DATE_OUT  and FORMAT_CLOCK_OUT, whereas general floating point val-
       ues are formatted according to FORMAT_FLOAT_OUT. Be aware that the for-
       mat  in effect can lead to loss of precision in ASCII output, which can
       lead to various problems downstream. If you  find  the  output  is  not
       written with enough precision, consider switching to binary output (-bo
       if available) or specify more decimals using the FORMAT_FLOAT_OUT  set-
       ting.


NOTES ON OPERATORS

       1. The operators PLM and PLMg calculate the associated Legendre polyno-
       mial of degree L and order M in x which must satisfy -1 <= x <= +1  and
       0  <=  M <= L. x, L, and M are the three arguments preceding the opera-
       tor. PLM is not  normalized  and  includes  the  Condon-Shortley  phase
       (-1)^M.  PLMg  is  normalized  in the way that is most commonly used in
       geophysics. The C-S phase can be added by using -M  as  argument.   PLM
       will  overflow  at  higher  degrees, whereas PLMg is stable until ultra
       high degrees (at least 3000).

       2. Files that have the same names as some operators, e.g.,  ADD,  SIGN,
       =, etc. should be identified by prepending the current directory (i.e.,
       ./).

       3. The stack depth limit is hard-wired to 100.

       4. All functions expecting a positive radius (e.g., LOG, KEI, etc.) are
       passed the absolute value of their argument.

       5. The DDT and D2DT2 functions only work on regularly spaced data.

       6.  All derivatives are based on central finite differences, with natu-
       ral boundary conditions.

       7. ROOTS must be the last operator on the stack, only followed by =.


STORE, RECALL AND CLEAR

       You may store intermediate calculations to a named  variable  that  you
       may  recall  and  place on the stack at a later time. This is useful if
       you need access to a computed quantity many times in your expression as
       it will shorten the overall expression and improve readability. To save
       a result you use the special operator STO@label,  where  label  is  the
       name  you  choose  to give the quantity. To recall the stored result to
       the stack at a later time, use [RCL]@label, i.e., RCL is  optional.  To
       clear  memory  you  may  use CLR@label. Note that STO and CLR leave the
       stack unchanged.

       8. The bitwise operators (BITAND,  BITLEFT,  BITNOT,  BITOR,  BITRIGHT,
       BITTEST,  and  BITXOR)  convert  a  tablesas double precision values to
       unsigned 64-bit ints to perform the bitwise  operations.  Consequently,
       the  largest  whole integer value that can be stored in a double preci-
       sion value is 2^53 or 9,007,199,254,740,992. Any higher result will  be
       masked  to  fit  in the lower 54 bits.  Thus, bit operations are effec-
       tively limited to 54 bits.  All bitwise operators return NaN  if  given
       NaN arguments or bit-settings <= 0.

       9. TAPER will interpret its argument to be a width in the same units as
       the time-axis, but if no time is provided  (i.e.,  plain  data  tables)
       then the width is taken to be given in number of rows.


MACROS

       Users  may  save their favorite operator combinations as macros via the
       file gmtmath.macros in their current or user directory.  The  file  may
       contain  any  number of macros (one per record); comment lines starting
       with # are skipped. The format for the macros is name =  arg1  arg2  a|
       arg2  [  : comment] where name is how the macro will be used. When this
       operator appears on the command line we  simply  replace  it  with  the
       listed  argument  list. No macro may call another macro. As an example,
       the following macro expects that the time-column contains seafloor ages
       in Myr and computes the predicted half-space bathymetry:

       DEPTH  =  SQRT 350 MUL 2500 ADD NEG : usage: DEPTH to return half-space
       seafloor depths

       Note: Because geographic or time constants may be present in  a  macro,
       it is required that the optional comment flag (:) must be followed by a
       space.  As another example, we show a macro  GPSWEEK  which  determines
       which GPS week a timestamp belongs to:

       GPSWEEK  =  1980-01-06T00:00:00  SUB  86400  DIV 7 DIV FLOOR : GPS week
       without rollover


ACTIVE COLUMN SELECTION

       When -Ccols is set then any operation, including loading of  data  from
       files,  will  restrict which columns are affected.  To avoid unexpected
       results, note that if you issue a -Ccols option before you load in  the
       data  then  only  those  columns will be updated, hence the unspecified
       columns will be zero.  On the other hand, if you load  the  file  first
       and  then  issue  -Ccols  then  the  unspecified columns will have been
       loaded but are then ignored until you undo the effect of -C.


EXAMPLES

       To add two plot dimensions of different units, we can run

              length=`gmt math -Q 15c 2i SUB =`

       To take the square root of the content of the second data column  being
       piped  through  gmtmath  by process1 and pipe it through a 3rd process,
       use

              process1 | gmt math STDIN SQRT = | process3

       To take log10 of the average of 2 data files, use

              gmt math file1.d file2.d ADD 0.5 MUL LOG10 = file3.d

       Given the file  samples.d,  which  holds  seafloor  ages  in  m.y.  and
       seafloor  depth  in m, use the relation depth(in m) = 2500 + 350 * sqrt
       (age) to print the depth anomalies:

              gmt math samples.d T SQRT 350 MUL 2500 ADD SUB = | lpr

       To take the average of columns  1  and  4-6  in  the  three  data  sets
       sizes.1, sizes.2, and sizes.3, use

              gmt math -C1,4-6 sizes.1 sizes.2 ADD sizes.3 ADD 3 DIV = ave.d

       To  take the 1-column data set ages.d and calculate the modal value and
       assign it to a variable, try

              gmt set mode_age = `gmt math -S -T ages.d MODE =`

       To evaluate the dilog(x) function for coordinates  given  in  the  file
       t.d:

              gmt math -Tt.d T DILOG = dilog.d

       To  demonstrate  the  use of stored variables, consider this sum of the
       first 3 cosine harmonics where  we  store  and  repeatedly  recall  the
       trigonometric argument (2*pi*T/360):

              gmt math -T0/360/1 2 PI MUL 360 DIV T MUL STO@kT COS @kT 2 MUL COS ADD \
                          @kT 3 MUL COS ADD = harmonics.d

       To use gmtmath as a RPN Hewlett-Packard calculator on scalars (i.e., no
       input files) and calculate arbitrary expressions, use  the  -Q  option.
       As  an  example, we will calculate the value of Kei (((1 + 1.75)/2.2) +
       cos (60)) and store the result in the shell variable z:

              set z = `gmt math -Q 1 1.75 ADD 2.2 DIV 60 COSD ADD KEI =`

       To use gmtmath as a general least squares equation solver, imagine that
       the  current  table  is the augmented matrix [ A | b ] and you want the
       least squares solution x to the matrix equation A * x = b. The operator
       LSQFIT  does  this;  it  is  your  job to populate the matrix correctly
       first. The -A option will facilitate this. Suppose you have a  2-column
       file  ty.d with t and b(t) and you would like to fit a the model y(t) =
       a + b*t + c*H(t-t0), where H is the Heaviside step function for a given
       t0  =  1.55. Then, you need a 4-column augmented table loaded with t in
       column 1 and your observed y(t) in column 3. The calculation becomes

              gmt math -N4/1 -Aty.d -C0 1 ADD -C2 1.55 STEPT ADD -Ca LSQFIT = solution.d

       Note we use the -C option to select which columns we  are  working  on,
       then  make  active all the columns we need (here all of them, with -Ca)
       before calling LSQFIT. The second and fourth columns (col numbers 1 and
       3)  are  preloaded with t and y(t), respectively, the other columns are
       zero. If you already have a pre-calculated  table  with  the  augmented
       matrix  [  A | b ] in a file (say lsqsys.d), the least squares solution
       is simply

              gmt math -T lsqsys.d LSQFIT = solution.d

       Users must be aware that when -C  controls  which  columns  are  to  be
       active the control extends to placing columns from files as well.  Con-
       trast the different result obtained by these very similar commands:

          echo 1 2 3 4 | gmt math STDIN -C3 1 ADD =
          1    2    3    5

       versus

          echo 1 2 3 4 | gmt math -C3 STDIN 1 ADD =
          0    0    0    5


REFERENCES

       Abramowitz, M., and I. A. Stegun, 1964, Handbook of Mathematical  Func-
       tions, Applied Mathematics Series, vol. 55, Dover, New York.

       Holmes,  S. A., and W. E. Featherstone, 2002, A unified approach to the
       Clenshaw summation and the recursive computation of  very  high  degree
       and order normalized associated Legendre functions. Journal of Geodesy,
       76, 279-299.

       Press, W. H., S. A. Teukolsky, W. T. Vetterling, and  B.  P.  Flannery,
       1992, Numerical Recipes, 2nd edition, Cambridge Univ., New York.

       Spanier,  J., and K. B. Oldman, 1987, An Atlas of Functions, Hemisphere
       Publishing Corp.


SEE ALSO

       gmt(1), grdmath(1)


COPYRIGHT

       2017, P. Wessel, W. H. F. Smith, R. Scharroo, J. Luis, and F. Wobbe



5.4.2                            Jun 24, 2017                       gmtmath(1)

gmt5 5.4.2 - Generated Wed Jun 28 16:30:57 CDT 2017
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.