Upload
tran-van-dai
View
216
Download
0
Embed Size (px)
Citation preview
8/10/2019 72- The &NUMBER String Function
http://slidepdf.com/reader/full/72-the-number-string-function 1/2
The &NUMBER String Function
Perhaps one of the most useful string functions is the function:
&NUMBER( TYPE, NUM( 1) , NUM( 2) , . . . . . . . )
This function has an option keyword, TYPE, and a set of strings which are normally numbers. Here, thevalid forms of the function are:
&NUMBER(?, STRI NG)
&NUMBER(REAL, RN)
&NUMBER(INTEGER , RN)&NUMBER(SIN, RN)
&NUMBER(SIND, RN)
&NUMBER(COS, RN)
&NUMBER(COSD, RN)
&NUMBER(TAN, RN)&NUMBER(TAND, RN)
&NUMBER(ACOS, RN)
&NUMBER(ASIN, RN)&NUMBER(ATAN, RN)
&NUMBER(ATAN2, X, Y )
&NUMBER(SQRT, RN)
&NUMBER(LN, RN)
&NUMBER(EXP, RN)
&NUMBER(ABS, RN)
&NUMBER(MIN, RN( 1) , RN( 2) , . . . )
&NUMBER(MAX, RN( 1) , RN( 2) , . . . )
&NUMBER(MEAN, RN( 1) , RN( 2) , . . . )
&NUMBER(SORT, RN( 1) , RN( 2) , . . . )
&NUMBER(INTERPOLATE, X, X(1) , . . . Y( n) )
&NUMBER(NORM , RN( 1) , RN( 2) , . . . )
&NUMBER(DOT, RN( 1) , RN( 2) , . . . )
&NUMBER(UNIT_VEC, RN( 1) , RN( 2) , . . . )
&NUMBER(CROSS, RN( 1) , RN( 2) , . . . )
&NUMBER(SCALE, SF, RN( 1) , . . . )
&NUMBER(ADDV , SF, RN( 1) , . . . )
&NUMBER(3PTS2Q, P1( 1) , P1( 2) , . . . P3( 3) )
&NUMBER(VECG2L, Q VG( 1) , VG( 2) , VG( 3) )
&NUMBER(VECL2G, Q VL( 1) , VL( 2) , VL( 3) )
The result produced depends, of course, upon the value of TYPE. The first option, ?, is different from
the others, in that it returns a value of .TRUE. if the string is a valid number or .FALSE. if it is not. Allof the others return a set of numbers.
As an example of how these functions operate, consider the following:
&NUMBER( REAL, ( 2+3)**8/ 2. )
This function will read the string "(2+3)**8/2." and convert it to a number, and then convert this number back into a string with eight significant figures. It is this final string which will be passed to the
command interpreter. The function with a type of INTEGER operates in a similar manner, except thathere, the result will be an integer. The idea behind these two is that in some cases a string representing a
number may become too long to convert; therefore, strings can be "compressed" with this function.
Page 1 of 2The &NUMBER String Function
8/10/2019 72- The &NUMBER String Function
http://slidepdf.com/reader/full/72-the-number-string-function 2/2
The first several TYPEs take a single number as input and return a single number. The particular
conversion which occurs with most values of TYPE is rather obvious from the name. In particular, SIN,COS, TAN produce strings with the value of the trigonometric functions of the same name and with theargument in radians. The trigonometric functions which end in D assume that the argument will be in
degrees. The functions ATAN, ATAN2, ACOS, and ASIN are inverse trigonometric functions, andATAN2 returns the angle who's tan is X/Y. The angles returned here are in radians. The types of LN,
EXP, SQRT, and ABS produce the natural logarithm, the exponential, the square root, and the absolutevalue respectively.
The remainder of TYPEs take more than a single number as arguments. The MAX and MIN return the
extremes of the arguments. A type of MEAN returns the mean of a set of numbers, while a a type ofSORT sorts a set of numbers in ascending order. INTERPOLATE takes the first number as the desired
"X" value, the next N/2 numbers as an array of Xs and the last N/2 numbers as an array of Ys. It returnsthe Y values which corresponds to the first number input. Of course, the X values must be in increasingorder.
The next remainder of TYPEs allow one to treat strings as vectors of numbers. For a type of NORM,MOSES will return a string which is the square root of the sum of the squares of the numerical
arguments. For a TYPE of DOT, the number of numerical arguments must be divisible by two, and itreturns the inner product of two vectors represented by the 2*n numbers. With UNIT_VEC the valuereturned is the input vector scaled by its length. With SCALE, the first number is a multiplier and the
function will return N numbers which represent the remaining numbers multiplied by the first. ADDVtakes the first number and uses it as a scalar multiplier for the first N/2 numbers and it vectorially addsthe result to the second N/2 numbers.
The last three functions deal with matrices and vectors. The TYPE 3PTS2Q returns a direction cosinematrix. Here P1, P2, and P3 are the coordinates of three points (You need nine numbers here). The
"origin" of the local system is at P1. The vector from P1 to P2 points "in the direction of the local Xaxis, and the vector from P1 to P3 points in the direction of the local Z axis. This direction cosine matrix
will transform local vectors into global ones. The TYPE VECG2L transforms a vector in globalcoordinates to local ones and VECL2G performs the inverse. Here Q is a direction cosine matrix (thereare nine numbers for Q) VG is a vector in global coordinates and VL is a vector in local coordinates.
Next
Page 2 of 2The &NUMBER String Function