Expressions Transforms

This routine lets you write a mathematical expression to transform a channel. 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):
Results are stored in the first of the source channels, or optionally (if the number of channels is less than 40) in a new channel (edit the file label as appropriate). If a data block has been selected, you can transform all the data or just within the block. A typical expression transforms window looks like this:
Some general considerations:
NOTE: This will only 'catch' errors in the basic numeric expression. It may not detect invalid or meaningless math operations that may be attempted when channel data are processed, such as division by zero, or taking the log or a noninteger exponent of a negative number. If such situations occur, results may be unpredicatable. The algorithm does find most such errors during processing, however.
The underlying code for the expression evaluator was largely developed by Robert Purves (recently deceased and greatly missed). I borrowed it  with his permission  and made some modifications for LabAnalyst. But Robert P. deserves all the credit.
Other links: 