TrueGrid® Expression Feature
An expression in TrueGrid® is defined to be any FORTRAN like expressions enclosed in square brackets. These expressions can be used any place a number is required in the input stream.
For example:
scale [sqrt(2.1)/17.2]
This can be combined with parameters so that expressions become dependent on values defined in the PARAMETER command.
For example:
PARAMETER a 2.1 b 17.2; scale [sqrt(%a)/%b]
Properties Of Expressions
- Integer, floating point, and exponential numbers and parameters can be used as operands and arguments to functions
- All calculations are done in floating point
- Unitary and binary arithmetic operators + and -
- Binary arithmetic operators *, /, **, and ^
- Parentheses to specify order of operations where the default order is given to:
First - exponentiation ( ** or ^ )
Second - multiplication ( * ) and division ( / )
Third - addition ( + ) and subtraction ( - )
- The expression can be continued to the next line by using a space and the ampersand ( & ) at the end of the line
- All illegal operations cause warnings
- All trigonometric operations are in degrees
Expressions Can Call Functions
- INT(x): truncates x to an integer
- NINT(x): rounds x to the nearest integer
- ABS(x): absolute value of x
- MOD(a,b): a modulo b
- SIGN(a,b): transfer the sign of b to a
- MAX(x1,x2,...,xn): maximum value of a list of numbers
- MIN(x1,x2,...,xn): minimum value of a list of numbers
- SQRT(x): square root of x where x most be positive
- EXP(x): exponential of x where x must not exceed 85.19
- LOG(x): natural logarithm where x must be positive
- LOG10(x): common logarithm base 10 where x must be positive
- SIN(x): trigonometric sine of x
- COS(x): trigonometric cosine of x
- TAN(x): trigonometric tangent of x where abs(x) can not be 90
- ASIN(x): trigonometric arcsine of x where abs(x) can not exceed 1
- ACOS(x): trigonometric arccosine of x where abs(x) can not exceed 1
- ATAN(x): trigonometric arctangent
- ATAN2(y,x): trigonometric arctangent with two arguments
- SINH(x): hyperbolic sine
- COSH(x): hyperbolic cosine
- RAND(seed,mean): uniform random number from 0 to 1
- NORM(seed,mean,sig): normal random number