Basic math calculators
The SPECIAL menu contains several utility routines useful in respirometry (STP conversion, altitude and pressure calculations, a metabolism estimates routine, a routine to compute ventilation) and a simple calculator.   For convenience they can be activated from the main plot window by typing specific keys, indicated by ‘key’ on the menu.

  •   SIMPLE MATH CALCULATOR...     This is an elementary math calculator (addition, subtraction, multiplication, division) with a few frequently-used functions (logs, square roots, etc.) and some specialized keys for interchanging time units (division and multiplication by 60 and 24).  If you have obtained a mean value with an ANALYZE menu operation, you can transfer that mean to the calculator for additional manipulation (note that this does not work for regression slopes).  The 'store X value...' button lets you save the result for use as a scaling factor in subsequent ANALYZE operations.  Clicking this button opens the scaling factors window.  Click on any channel's "*" or "÷" button, and the current X-value will appear in the first edit field (the multiplication or division factor) for that channel.

    • The initial X value will be set to the last computed value obtained from several of the calculators (STP, metabolism, etc.).   If no such value is available (i.e., no calculators have been used), the initial X value is set to 1.0.

    • Mathematically impossible operations (such as attempting to take the square root of a negative number) will generate a warning notice (this calculator only deals with real numbers).

    • Also note that when computing sines, cosines, or tangents, the calculator expects angles in degrees (not radians).


  •   SIMPLE REGRESSION... This window lets you perform simple linear or 2-order polynomial regressions.   It is not intended to replace the much more sophisticated regression algorithms found in dedicated statistics packages:   it doesn't provide a lot of the standard regression statistics, and there is an upper limit of 20 X-Y variable pairs (you need to enter at least three).   Once the data are entered, clicking the 'Calculate Regression' button computes and displays the regression coefficients and shows a plot of the data and regression line:

    • Once a regression has been computed, you can use the 'Predict Y from X' and 'Predict X from Y' buttons to interpolate values (but note that predicting X from Y does not always work in polynomial regressions).

    • The X and Y values will be remembered if you close this window and subsequently re-open it (but are lost when you quit LabAnalyst).

    • The 'Save Data…' button saves the current X and Y values to an Excel-format text file (this button is not available until you have calculated at least one regression).


  • 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.


    Other links: