EDIT menu
EXPRESSION EVALUATOR...     This routine lets you write a mathematical expression, enter numeric values for the expression variables, and have the computer solve it for X and (optionally) Y values.  The program parses the expression into components and performs the operations.
The expression evaluator understands the following symbols (upper or lower case entries are OK):

  • Simple operators: + - * / ^ ( )
  • Complex operators: EXP, LOG or LN, LOG10, SIN, COS, TAN, ATN or ATAN, ABS, INT, SQR (square), SQRT (square root)
  • Two special variables (i.e., channels) named "X" and "Y", chosen with push-buttons (see image below)
  • PI (or the equivalent Greek letter)
  • Numbers (such as 5, -3.1889, and 1e-10)
  • You can add a comment at the end of your expression, delineated with the " ` " character.

Some general considerations:

  • You can store and retrieve up to 4 expressions using the 'Retrieve Expression x' and 'Store as Expression x' popup menus.   This will save the trouble (and error potential) of re-entering frequently-used expressions at each use.

  • The 'Check expression' button does a preliminary parsing of the expression and indicates if there are any syntax errors (in the above example, this button has been clicked).

  • The 'Evaluate' button processes the expression using the X and Y values you entered.  If any errors are found (see below), a warming message is shown.

NOTE: This routine will only 'catch' errors in the basic numeric expression.  It may not detect invalid or meaningless math operations that may be attempted when data are processed, such as division by zero, or taking the log or a non-integer exponent of a negative number.  If such situations occur, results may be unpredictable.

The underlying code for the expression evaluator was developed by the late, great Robert Purves (deceased a few years ago, and greatly missed by the FB community).  I 'borrowed' it -- with his permission -- and made some modifications for LabAnalyst.  But Robert P. deserves all the creative credit.


go to: