Mathematical Expressions: Technical Note
Mathematical Expressions: Technical Note
TECHNICAL NOTE
www.geosoft.com
How to Apply Mathematical Expressions in Oasis montaj
One of the most frequently asked questions we receive is, “How do I apply a
mathematical expression in Oasis montaj?” This technical note will provide you
with an overview on constructing, applying, and saving math expressions in Oasis
montaj.
You can create new channels in your database to store the results of math
expressions, or any other processing operations. We recommend that you create
a new channel for storing any changes you make to the original imported data.
Create a New Channel:
1. Move to the top of the next empty column and highlight the channel header
cell using a single click of your left mouse button.
2. Right click, and select New form the popup menu. The system displays the
Create Channel dialog box.
3. Type in the Name of the new channel (Cu_edited), and specify the Class as
(ASSAY).
4. Click the [OK] button to accept the rest of the default values. The system
creates a new channel in the database named Cu_edited and fills this channel
with dummy values.
Copy Data from an Existing Channel:
1. On the ChemUtility menu (or Utility menu), click Copy channel. The system
displays the Copy a channel dialog box.
2. Select Cu from the dropdown list for the Copy FROM box and Cu_edited
from the dropdown list for the TO box. Click the [OK] button.
3. The system copies values from the Cu channel into the newly created
Cu_edited channel.
1. Select the channel you want to change by left clicking three times on the
Cu_edited channel so that the channel and header are highlighted.
2. Physically press the [=] sign on the keyboard. This changes the edit line of the
screen to "Formula=" (bottom left hand corner of the screen).
3. In the Formula= entry field, type an expression where the variables are
existing channel names (for example, Cu_edited*1000).
4. Press the [Enter] key. The result of the expression is placed in the currently
selected cells.
Apply a Mathematical Expression using the Apply Formula dialog (MATH GX):
1. On the ChemUtility menu, click Expression (or on the X-Utility menu click,
Expressions|Expression). The Apply Formula dialog is displayed.
2. In the Expression box, type an expression where the variables are existing
channel names (for example, Cu_edited/1000).
3. Press the [OK] button. The result of the expression is placed in the currently
specified cells.
Create and Save a Mathematical Expression file:
A math expression file can be created in your default text editor program (eg.
Notepad). A math expression file may contain many lines of expressions and
blank or comment lines. Comment lines are indicated by a ‘/’ character as the first
character of the line. For example, following is an expression file for squaring the
sum of two channels:
/Channel C will be the square of the sum of channel A and channel B:
@sum = A + B; C = @sum * @sum;
Note: Each expression must end with a semi-colon (;) character. You can
place more than one expression on a line as long as each expression
ends with a semi-colon.
Save your math expression file with an (.EXP) extension. Oasis montaj will
display files with the (.EXP) extension in the Apply Formula from a file dialog.
Apply a Mathematical Expression from a file (MATHFILE GX):
1. On the ChemUtility menu, click Expression file ( or on the X-Utility menu, click
Expressions|Expression file). The Apply Formula from a file dialog is
displayed.
2. Using the [Browse] button for the Math expression file (.EXP) box, locate the
file containing the math expression you want to apply.
3. Select the file, and then click the [OK] button to apply the math expression
the to specified cells.
Note: For more information on Math Expression files, click the [Help] button
on the Apply Formula from a file dialog.
The following list provides examples of simple math expressions. For details on
more complex math functions please see Math Expressions in the Oasis
montaj Online Help System.
Multiplying or dividing values (changing ppm to ppb or ppb to ppm)
Cu_edited*1000
Cu_edited/1000
Determining Ratio values
Cu_edited/Pb
Replacing outliers with dummy
Cu_edited>200?dummy:Cu_edited
i.e if Cu_edited is greater than 200, then put dummy, else put Cu_edited
(Cu_edited>100&&Cu_edited<200)?(new=1):(new=DUMMY)
i.e. if Cu_edited greater than 100 and less than 200, then put new = 1, else
put new = dummy
Window data channel
Window(Cu_edited,0,100)
i.e. all values < 0 and >100 will = dummy
Log transformations
log(Cu_edited)
i.e Natural log
Log10(Cu_edited)
i.e. Log base10
Calculating Distance between each point and the origin of the local coordinate system
sqrt(X*X+Y*Y)
i.e. expression assumes that "X" and "Y" are coordinate channel names.
By definition, operators are symbols used to compare left hand and right hand
variables or operands in expressions. In Oasis montaj, there is a hierarchy or
precedence in which operators are used in expressions.
In the following table, each operator is shown in decreasing order of precedence.
For some operators, there is also a left-to-right order for evaluating them.