All numbers are treated as double precision real numbers. Any operation can
be interrupted at any time by typing CTRL-C. There are four basic types of
PHYSICA instructions:
Comments - input that starts with !
Operating system instructions - input that starts with $
Assignments - input of the form: variable=expression
Evaluations - input of the form: =expression
Commands - all other input
The general syntax for a PHYSICA command line is:
command\qual...\qual p1\qual p2\qual ... p29\qual
The parameter fields in a command line are separated by commas or blanks.
If a field starts with a quote, `, or an opening parenthesis, (, then
commas and blanks are considered to be a part of that field, up to the end
quote, ', or end parenthesis, ). Character strings are fields enclosed in
quotes. For example, the command line:
command\qualifier p1 `a, test line' p3
consists of four fields: (1) command\qualifier (2) p1
(3) a, test line (4) p3
Command qualifiers are attached to the command, no blanks are allowed, and
separated from the command, or a preceding qualifier, by a backslash, \. A
qualifier can be negated, if that makes sense, by preceding the qualifier
with a minus sign, or the keyword NO. For example, \COLOUR can be negated
by \-COLOUR or by \NOCOLOUR.
Some commands also allow qualifiers on parameters.
An assignment stores the value(s) of an expression into a PHYSICA variable.
An assignment has the form: variable = expression where expression is
some combination of constants, variables, functions, and operators. For
example: Y=A*COSD(X/10)+3.5*SIND(X/12)+C*EXP(-X) The type of variable
generated by an assignment is determined by the expression. Input is
limited to 255 characters, so to have expressions that are longer, use text
variables to store it's pieces. For example:
F1 = `2.5*COS(X/10)+3.5*SIN(X/12)+63.7*EXP(X/45)'
F2 = `1.234567*MOD(X,100)+SIN(X/1000)*EXP(X/200)'
F3 = `3.56789*X^2-2.34567*X+23.456'
Y = F1+F2+F3
An element of a array text variable is a character string, for example, T
is an array text variable with 3 elements:
T[1] = `This is line one'
T[2] = `This is line two'
T[3] = `This is line three'
Array text variables can be defined with the READ command by entering more
than one line number to read, for example: READ\TEXT FILE.DAT\[1:5] T
creates array text variable T with 5 elements, or with a text assignment, as
above. To specify the character elements of an array element of a array text
variable, use another set of brackets. For example, if T[3]=`abcdefghijkl'
then T[3][1:10:2] specifies characters 1, 3, 5, 7, 9 of array element
3 of the array text variable T, which is `acegi'. There is no maximum
number of array elements for a text variable. There is no maximum character
length for an array element.
PHYSICA supports many types of functions, both numeric and character. The
basic numeric type of function operates on a single number at a time, in
other words, it performs its calculations on an element by element basis.
These include the trigonometric functions and the basic arithmetic functions.
The resultant variable type of one of these element by element functions will
be the same as the variable type of its argument. PHYSICA also supports array
functions, which operate on variables in their entirety. Some of these
functions have a different resultant variable type than their arguments.
There are also functions that operate on character strings, and functions
that have numeric arguments but result in character strings.
( ) - Parentheses | ^ - Exponentiation
* - Multiplication | / - Division
+ - Addition | - - Subtraction
>< - outer product | <> - inner product
<- - matrix transpose | >- - matrix reflect
/| - vector union | /& - vector intersection
-------------------------------------+----------------------------------
// - append vectors or append character strings
-------------------------------------+----------------------------------
| "OR" - or | || "XOR" - exclusive or
& "AND" - and | ~ "NOT" - not
= "EQ" - equal to | ~= "NE" - not equal to
> "GT" - greater than | < "LT" - less than
>= "GE" - greater than or equal to | <= "LE" - less than or equal to
The Boolean operators return a value of 0 when false and 1 when true,
and all come in two forms. The double quotes are necessary when using the
character form of the operator.
Syntax: 3DPLOT x y z ipen { colr }
The 3DPLOT command graphs the three vectors x, y, and z in 3d space,
displayed in 2 dimensions using a perspective projection. The vectors x, y,
and z should contain the (x,y,z) coordinates of the points. The ipen vector
contains the codes for deciding what to draw at each coordinate. The colr
vector contains the colour codes. The vectors must all be the same length.
This command is strictly interactive, it cannot be entered from batch mode.
Note that if the graph seems to be a complete mess, try increasing the
"eye to object distance" using the E key.
Syntax: ALIAS { newcommand command_string }
Examples: ALIAS RED COLOUR RED
ALIAS APPEND WRITE\APPEND
ALIAS CURVE GRAPH\NOAXES
ALIAS AXES GRAPH\AXES
ALIAS ACLEAR CLEAR\ALPHANUMERIC
The ALIAS command allows the user to create new commands by equating
a keyword to a command string. The command string must begin with a
valid command, for example, it cannot be a file name that is to be used
with other commands. If the ALIAS command is entered with no parameters,
then the current aliases will be displayed. Everything after the newcommand
is taken for the command_string, i.e., no quotes should be used.
Use the DEALIAS command to eliminate alias that were created with the
ALIAS command.
Syntax: ASSIGN name logical_name
Example: ASSIGN LASER_211 HP$LASER
This command only applies to VMS, and is equivalent to the DCL command:
$ ASSIGN name logical_name
The logical assignment takes effect immediately, and remains in
effect after PHYSICA is unloaded.
The ASSIGN command is useful for assigning new logical names to the output
devices, that is, the logical name for a bitmap device or a plotter.
Syntax: BANNER { PHYSICA | DEFAULT | character_string }
Qualifiers: \XTERM, \DECTERM
Defaults: \DECTERM
Examples: BANNER PHYSICA ! banner contains username, node, hardcopy info
BANNER\XTERM DEFAULT ! banner = `XTERM'
BANNER DEFAULT ! banner = `DECTERM'
BANNER `This is a banner' ! banner = user defined string
BANNER `start of string '//T//' end of string'
BANNER T[3:20]
The BANNER command allows the user to change the banner and icon strings
when using an X Window System monitor. The initial default is \DECTERM.
Use the \XTERM qualifier if you are in an XTERM window instead of DECTERM.
The default becomes the last specified \XTERM or \DECTERM qualifier. The
command parameter may be: the PHYSICA keyword; the DEFAULT keyword; or a
user defined string. The keyword PHYSICA is the default, if no parameter
is entered. When neither of the recognized keywords is used, the string
itself will be used for the banner and the icon titles.
Syntax: BELL { n }
Defaults: n = 1
Examples: BELL
BELL 3
The BELL command causes the terminal bell to ring. The bell will ring n
times. If n is not present in the parameter list it defaults to 1.
When executing a command macro file, the BELL command can be useful
for notifying the user that some action should be taken or that some
procedure is finished.
Syntax: BESTFIT pmin pmax penalty error parm pout
BESTFIT\WEIGHTS w pmin pmax penalty error parm pout
BESTFIT\CYCLES n pmin pmax penalty error parm pout
BESTFIT\WEIGHTS\CYCLES w n pmin pmax penalty error parm pout
Qualifiers: \WEIGHTS, \CYCLES
Defaults: \NOWEIGHTS, \NOCYCLES
This command calculates parameters for a least-squares fit to an
error vector using adjustable parameters. The parameter ranges, as
well as the penalty function, must be vectors, with lengths equal to
the number of parameters for the fit, M. The error array must be a
vector with length equal to the number of locations, N. The influence
function must be a matrix with N rows and M columns.
Syntax: BIN x xbin xcount
BIN\NBINS x xbin xcount n { xmin xmax }
Qualifiers: \WEIGHTS, \EDGES, \NBINS, \DISCARD, \EMPTY, \AVERAGE, \LAGRANGE
Defaults: \-WEIGHTS, \-EDGES, \-NBINS, \-DISCARD, \-EMPTY, \-AVERAGE,
\-LAGRANGE, xmin = min(x), xmax = max(x)
This command sorts an input vector, x, into a grid of bins and accumulates
the counts per bin into an output vector, xcount. Elements are never counted
as being in more than one bin. By default, the bins are defined by their
centres, given in vector xbin, which must be strictly monotonically
increasing. If n=len(xbin), define the bin ranges, r[i]
r[1] = xbin[1]-(xbin[2]-xbin[1])/2
r[i] = xbin[i]-(xbin[i]-xbin[i-1])/2 for i=2,3,...,n
r[n+1] = xbin[n]+(xbin[n]-xbin[n-1])/2
For each i=1,2,...,len(x) if r[j] <= x[i] < r[j+1] for some j=1,2,...,n
then xcount[j] is incremented by 1, or by the weight, w[i]. By default,
events below r[1] will be placed in the first bin, and events above r[n+1]
will be placed in the last bin. If the \DISCARD qualifier is used, events
outside this range will be discarded.
Syntax: BIN2D x y xbin ybin mc nx ny { xmin xmax ymin ymax }
BIN2D\MATRIX mdata mx my mout
Qualifiers: \WEIGHTS, \EMPTY, \MATRIX, \XDISCARD, \YDISCARD, \DISCARD
Defaults: \-WEIGHTS, \-MATRIX, \-EMPTY, \-DISCARD
xmin = min(x), xmax = max(x), ymin = min(y), ymax = max(y)
The BIN2D command forms a matrix of bins of data by sorting the vectors x
and y into grids of bins the centres of which are returned in vectors xbin
and ybin. The accumulated matrix of total counts per bin is returned in
matrix mc. If the numbers xmin and xmax are not entered, they default to the
minimum and maximum of x. If the numbers ymin and ymax are not entered, they
default to the minimum and maximum of y.
xbin[i] = xmin+(i-0.5)*(xmax-xmin)/|nx| for i=1,2,...,|nx|
ybin[j] = ymin+(j-0.5)*(ymax-ymin)/|ny| for j=1,2,...,|ny|
The (x[i],y[i]) point will be accumulated in mc[i,j] where:
row: i = int( (y[i]-ymin)/(ymax-ymin)*|ny| ) + 1
column: j = int( (x[i]-xmin)/(xmax-xmin)*|nx| ) + 1
Syntax: BUFFER { n }
BUFFER\READ filename
BUFFER\WRITE filename
Qualifiers: \READ, \WRITE, \DYNAMIC, \STATIC, \KEYPAD
Defaults: n = 20, \DYNAMIC
Examples: BUFFER 35
BUFFER\KEYPAD\READ FILE.DAT
The BUFFER command controls the input line recall buffers: the dynamic
buffer, the static buffer, and the keypad buffer. See the RESTORE\PHYSICA
command for information on restoring these buffers from previously saved
sessions.
Syntax: CALL { SUBn } arg1 { arg2 ... arg15 }
Examples: CALL SUB1 X Y
CALL X Y
If one of the keyword parameters SUB1, SUB2, ..., SUB8 is used, then this
command calls one of the eight subroutines which were loaded via the
shareable image. If none of these keyword parameters is used, then the
subroutine object module that was loaded at run-time with the LOAD will be
called. The appropriate arguments, which may be constants, scalars, vectors,
matrices, character strings, or text variables, must be used. If the
arguments do not agree in variable type and number, an addressing error
will occur.
Syntax: CLEAR
Qualifiers: \ALPHANUMERIC, \CIT467, \REPLOTONLY, \NOREPLOT
Defaults: clears graphics and replot option
The CLEAR command, with no qualifiers, clears the graphics. It also clears
the replot buffers, that is, if REPLOT is entered after a CLEAR command is
entered, there will be nothing to replot until GRAPH is entered again. Any
hardcopies must be asked for before entering the CLEAR command.
Syntax: COLOUR colourname
COLOUR n
Defaults: default colour is white
Examples: COLOUR
COLOUR RED
COLOUR R\SCALAR
COLOUR 2
The COLOUR command sets the monitor colour and the associated
graphics hardcopy colour number, for subsequent graphics. The colour
number may, for example, be a plotter pen number or a colour number
for the HP PaintJet.
Syntax: CONTOUR { x y } v nctr { min { incr }}
CONTOUR\SPECIFIC { x y } v lvls
Qualifiers: \SPECIFIC, \INTERPSIZE, \POLAR, \LEGEND, \COLOURS, \PARTIAL,
\RESET, \BORDER, \AXES, \COORDINATES, \AREAS, \VOLUMES, \CONTINUE
Defaults: x = [1;2;3;...], y = [1;2;3;...], \NOSPECIFIC, \NOINTERPSIZE,
\NOPOLAR, \NOLEGEND, \NOCOLOURS, \RESET, \NOAREAS, \NOVOLUMES,
\BORDER, \NOCOORDINATES, \AXES, \NOCONTINUE
Examples: CONTOUR X Y Z 10
CONTOUR M 10 MINVAL
CONTOUR\SPECIFIC\INTERPSIZE 10 X Y M LEVELS
This command draws contour lines for either a regular matrix or scattered
points. If v is a vector, x and y are assumed to represent a scattered set
of points, where v is the altitude corresponding to the location (x,y). If
v is a matrix, and two vectors, x and y, are entered, the length of x must
be equal to the number of columns of v and the length of y must be equal to
the number of rows of v.
Syntax: COPY xin1 { xin2 ... } xout1 { xout2 ... } { IFF expression }
Qualifiers: \APPEND, \INDEX
Defaults: \NOAPPEND, \NOINDEX
Examples: COPY X Y Z XX YY ZZ
COPY\APPEND X XX
COPY X[1:10] X[20:11:-1]
COPY\INDEX X Y Z XX YY ZZ IFF (X>2)
The COPY command copies a subset of vector, xinI, into another vector,
xoutI. By default, if xoutI already exists, the COPY command overlays
the new data onto the old. Multiple input vectors can be entered, but
there must be an output vector for each input vector.
Syntax: DCL
The DCL command enters DCL mode by spawning a subprocess. To return to
the program, type the DCL command RESUME. When in DCL mode, any
VAX/VMS command may be entered, for example, edit a file, run a
program.
The first time the DCL command is entered, a subprocess is spawned,
which can take some time. If the word RESUME is typed, the subprocess
is not destroyed and a subsequent DCL command will attach to this
subprocess. Attaching to a subprocess is very fast. If the word LOGOFF
is typed, the subprocess is destroyed, so that a subsequent DCL command
will have to spawn a new subprocess.
Syntax: DEALIAS ALL
DEALIAS aliascommand
The DEALIAS command allows the user to eliminate aliases that were
created with the ALIAS command. If the keyword ALL is entered, all
aliases will be eliminated. To display all aliases, enter the ALIAS
command with no parameters.
Syntax: DEFAULTS
Qualifiers: \INITIALIZE, \WINDOWS
Defaults: initialization file not executed, windows reset
Examples: DEFAULTS
DEFAULTS\INIT
The DEFAULTS command resets the original PHYSICA defaults.
Syntax: DENSITY { x y } v
Qualifiers: \POLAR, \PARTIAL, \DERIV, \PROFILES, \XPROFILE, \YPROFILE,
\BORDER, \AXES, \LOG
Defaults: \-POLAR, \-PARTIAL, \-DERIV, \-PROFILE, \BORDER, \AXES, \-LOG
density plot types qualifier
-------------------------------------------------------------
solid filled regions in colour no qualifiers (default)
random points \RANDOM
dithering with points (grey scales) \POINTS
diffusion with points (grey scales) \DIFFUSION
scaled rectangles \BOXES
If the \LOG qualifier is used, the base 10 logarithm of the data is used
for the plot.
Syntax: DESTROY v1 { v2 ... } { IFF expression }
Qualifier: \EXPAND
Default: \-EXPAND
Examples: DESTROY *
DESTROY X Y Z
DESTROY *V M1 M2 *T
DESTROY X Y Z IFF (X>=2)&(X<=4)
DESTROY X[1:10] Y Z[2:20:2] T[A:B]
This command eliminates subsets of vectors or character variables, and
it completely eliminates scalars or matrices. Up to 29 variable names may
be entered. By default, variable names are not re-constructed or expanded.
Syntax: DEVICE keyword
Default: initial graphics hardcopy device: HP LaserJet @ 150 dpi
Examples: DEVICE HPLASERJET 300
DEVICE OFF
DEVICE ON
DEVICE HPPLOTTER
DEVICE\COLOUR POSTSCRIPT C
The DEVICE command is used to select a graphics hardcopy output device.
If a device type is chosen, as opposed to entering OFF or ON, then the
graphics will be cleared. The initial default is the HPLaserJet @ 150 dpi.
The graphics hardcopy device determines the world coordinates. The device
should be chosen before opening an EDGR file. The device can be chosen by
name or by code number.
Syntax: DIGITIZE { xout yout { codes } }
Examples: DIGITIZE
DIG X Y
DIG X Y C
The DIGITIZE command digitizes points off of a graph that is attached to
a digitizing pad. To make use of the digitizer, simply secure the graph
to the pad, enter the DIGITIZE command, and follow the directions. If the
two optional variable names, xout and yout, are entered, then they will be
created and any recorded points will be saved in these two vectors, with
the horizontal axis values stored in xout and the vertical axis values
stored in yout.
Syntax: DISPLAY character_string
DISPLAY keyword
This command either displays a message on the monitor screen, or
interprets the command parameter as a keyword and draws a corresponding
table or displays a corresponding list.
DO loops can only be used in command macro files. DO loops in PHYSICA are
similar to FORTRAN do loops, but must be terminated with ENDDO. The range
of the DO loop can be any expression resulting in a vector. The loop will
execute a number of times equal to the length of the loop range vector,
with the loop variable taking on the values of each element of the loop
range vector. Nested loops are allowed. The maximum number of DO loops
allowed in a file is 50. The looping variable is created as a scalar
variable. For example, the variable j below will be made into a scalar:
... !
DO j = x ! x must be a vector, the loop will execute len(x) times with
... ! j successively taking on the value of each element of x
ENDDO !
... !
Syntax: EDGR keyword
This command invokes the graphical editor, EDGR.
keywords action
---------------------------------------------------
OPEN open a drawing file
EDIT edit an open drawing file
FRAME open a new frame in an open drawing file
CLOSE close an open drawing file
Syntax: ELLIPSE a b xc yc angle
ELLIPSE\FIT xin yin
Qualifiers: \FIT, \NPTS, \XYOUT, \REPLOT
Defaults: \-FIT, \-NPTS, \-XYOUT, \REPLOT
This command uniformly populates the perimeter of an ellipse in two ways:
1) given the major axis radius, minor axis radius, centre and angle; or
2) fit an ellipse so a fraction of the data points are within the ellipse
Syntax: ERASEWINDOW { n }
Defaults: n = current window number
Examples: ERASEWINDOW
ERASEWINDOW 5
The ERASEWINDOW command erases the graphics within a pre-defined window.
It will erase the graphics within a window on the monitor screen, as well
as bitmap and PostScript hardcopy output. This does not apply to other
graphics hardcopy output or to EDGR drawings, that is, any erased graphics
will still appear on that hardcopy and will still be in an EDGR drawing.
If n is not entered, it defaults to the current window number. If n is
entered, it must refer to a window that is already defined.
Syntax: EXECUTE filename { p1 p2 ... }
@filename { p1 p2 ... }
Examples: EXECUTE FILE.PCOM
@FILE 1.2 `Text string' X Y
This command causes program input to come from a file, instead of from the
keyboard. When the end of file is reached, input will again be expected to
be entered from the keyboard, or from a calling executable file. You may
have up to 20 nested executable files. The `at' sign, @, is equivalent to
`EXECUTE '. Within command macro files, it is possible to have labels, GOTO
statements, IF...THEN statements, and DO loops.
Syntax: EXIT
Qualifiers: \CLEAR
Examples: EXIT
EXIT\CLEAR
This command stops the PHYSICA program but does not unload the program.
After entering EXIT, you can re-enter PHYSICA without re-running the program,
by entering the DCL command CONTINUE, as long as you have only entered DCL
commands that are performed within the command interpreter, such as,
ALLOCATE, ASSIGN, DEFINE, SHOW QUOTA, SPAWN, etc. See also the QUIT command.
If the \CLEAR qualifier is appended to the EXIT command, the graphics is
cleared before the program is exited.
Syntax: EXTENSION { `ext' }
Default: default file extension is PCM
Examples: EXTENSION `PCOM'
EXTENSION `OPD'
This command is used to redefine the default file extension for executable
command macro files. The original PHYSICA default file extension is PCM.
The default file extension applies to the EXECUTE command only. If you give
the file name without a file extension, the default extension is
automatically appended to the file name. If the EXTENSION command is entered
without a parameter, the current default extension is displayed.
Syntax: FIGURE BOX { lowx lowy hix hiy }
FIGURE POLYGON nvert { cx cy sx sy }
FIGURE CIRCLE radius { cx cy }
FIGURE ARC { cx cy sx sy ex ey }
FIGURE WEDGE { cx cy sx sy ex ey }
FIGURE ELLIPSE a b { cx cy } angle
FIGURE ARROW { sx sy ex ey }
Qualifiers: \CONFIRM, \GRAPH, \PERCENT, \WORLD
Defaults: \NOCONFIRM, \PERCENT
This command is used to draw geometric figures. The numeric parameters may
be in one of three types of units, which are chosen by command qualifier.
Syntax: FILTER\MEDIAN xin xout npt
FILTER\MEAN xin xout npt
FILTER\NONRECURSIVE xin xout c
FILTER\RECURSIVE xin xout c d
Qualifiers: \MEDIAN, \MEAN, \NONRECURSIVE, \RECURSIVE
Default: \MEDIAN
Examples: FILTER X XF 5
FILTER\MEAN X XOUT 5
FILTER\RECURSIVE X XOUT {.3584,1.2832,.3584,0,0} {0,1}
A digital filter is a linear combination of the input data and possibly
the output data. The input data is assumed to have unit spacing, so a
scale value may have to be used to produce the correctly scaled output data.
Syntax: FIT y = { expression }
FIT\UPDATE yout
Qualifiers: \NORMAL, \POISSON, \UPDATE, \ITMAX, \WEIGHTS, \TOLERANCE
\ZEROS, \CHISQ, \VARNAMES, \CORRMAT, \COVMAT, \E1, \E2
\FREE, \RESET, \MESSAGES
Defaults: \NORMAL, \-ITMAX, \-WEIGHTS, \-TOLERANCE, \ZEROS, \-CHISQ
\-CL, \-VARNAMES, \-CORRMAT, \-COVMAT, \-E1, \-E2, \-RESET
\-FREE, \MESSAGES
Examples: FIT Y=A*X+B
FIT\CHISQ\CL\ITMAX\WEIGHTS\TOLERANCE W 3 .001 Y =A*EXP(-B*X)+C
FIT\UPDATE YF
By default, or if the \NORMAL qualifier is used, it is assumed that the
data has normally distributed errors. If the \POISSON qualifier is used,
the data errors are assumed to be distributed as a Poisson distribution.
The expression to be fitted must result in a vector with the same length
as the data variable, y. If the expression is not entered, it defaults to
the last expression entered in a FIT command that was equated to the same
y variable.
Syntax: FMIN x y xlo yhi expression
Qualifier: \MESSAGES
Default: \MESSAGES
Example: FMIN\-MESSAGES X Y -10 10 2*X^2-10*X+5
This command returns the location and value of the local minimum of the
expression, in the range xlo to xhi. The expression must be a function of
the independent variable x. The variable x should be a scalar whose value
is the initial location guess. If x<xlo or x>xhi, then the initial guess
will be (xlo+xhi)/2. On output, x will contain the location of the local
minimum, and y will contain the value of this minimum. The expression must
contain the variable x, and may contain other scalars, but must not contain
any other non-scalar variables.
Syntax: FZERO x expression
Qualifier: \MESSAGES
Default: \MESSAGES
Example: FZERO\-MESSAGES X SIN(X)/X
This command returns the zeros, or roots, of the expression, which must be
a function of the dummy vector x. If the length of x is N, a maximum of N
roots of the function will be returned in an updated vector x. If no roots
are found, or any error occurs, x will be destroyed. The expression must
contain x, and may contain scalars, but must not contain any non-scalar
variables other than x. The values contained in the x vector will be used
as the starting values for the root search.
Syntax: GENERATE x min inc ,, npts
GENERATE x min inc max
GENERATE x min ,, max npts
GENERATE\RANDOM x min max npts
Qualifier: \RANDOM
Default: \-RANDOM
The GENERATE command makes a new vector, x. By default, x will be generated
according to the formula: x[i] = min + (i-1)*inc for 1 <= i <= npts
The minimum value must be given. Two other values are also required: the
increment and the number of points, or the maximum and the number of points,
or the increment and the maximum value.
Syntax: GET { keyword { variable } }
Examples: GET %XLAXIS XLX
GET
GET NSXINC
The GET command gets the values of the GPLOT plot characteristic keywords
and the PHYSICA specific keywords. Use the SET command to change the values
of these keywords. If the command is entered with no parameters, more than
one keyword value can be obtained without re-entering the GET command. Other
keywords will be requested until a blank line is entered, at which time the
user is put back into command line entry mode. If the command is used in
this way in a macro command file, the blank line is necessary to indicate
that the GET command is finished. If a keyword is entered with the command,
only that keyword's value can be obtained. If the output variable is not
entered after the keyword, the current value is displayed on the monitor
screen. If an output variable is entered, the variable is assigned the
current value of that keyword. All keywords have numeric values, except
for the FONT, CUNITS, UNITS, VERSION, and VERSIONDATE keywords, which are
character valued.
Syntax: GLOBALS
This command only works under VAX/VMS.
This command displays the names of global sections to which you have access.
Use in conjunction with the MAP\FIOWA or MAP\FIOWABIG commands.
GOTO can only be used in a command macro file. Use a GOTO to branch to a
label. A label is a character string that ends with a colon, :. A label
must be on a line by itself, and it must have NO embedded blanks. Do not
include the colon with the label after a GOTO.
Syntax: GRAPH { `legendtext' } x y { ye1 { xe1 { ye2 { xe2 }}}}
Qualifiers: \AXESONLY, \NOAXES, \POLAR, \REPLOT, \HISTOGRAM
Defaults: axes drawn, \REPLOT, \NOHISTOGRAM, legendtext ignored
Examples: GRAPH X Y
GRAPH `legend entry' X Y YERR XERR
GRAPH\NOAXES X Y
The GRAPH command draws: 1) data with axes -- GRAPH
2) just the data -- GRAPH\NOAXES
3) just the axes -- GRAPH\AXESONLY
The data curve may be a histogram. The parameters must be vectors, but can
be vectors of length one. The minimum length of all of the input variables
will be used.
Syntax: GRID x y z m
GRID\PATTERN x y z m
GRID\INDICES x y z m
Qualifiers: \INTERPOLATE, \PATTERN, \INDICES, \SIZE, \XYOUT, \BOUNDS,
\POLAR, \CHECKDUP
Defaults: \INTERPOLATE, \NOINDICES, \NOSIZE, \NOXYOUT, \NOBOUNDS,
\NOPOLAR, \NOCHECKDUP
This command creates a regular matrix from scattered data points. The vectors
x, y and z are assumed to represent scattered points, where z is the data
value at location (x,y). By default, a square matrix, m, is interpolated,
with row and column dimensions equal to 5*sqrt(min(len(x),len(y),len(z))).
Syntax: HARDCOPY keyword { queue }
HARDCOPY keyword { file }
This command is used for obtaining graphics hardcopies. The first keyword
refers to the action of printing or saving the graphics. This depends on
which graphics hardcopy device is currently active. Use the DEVICE command
to choose a graphics hardcopy device. The initial default is HPLaserJet.
Syntax: HELP { string ... }
HELP\LIBRARY libname { string ... }
Qualifiers: \PAGE, \LIBRARY
Defaults: \NOPAGE, \NOLIBRARY
The HELP command invokes the on-line help facility. To get information about
a specific command, include it as the string with the HELP command. By
default, output to the screen is not paged, that is, output to the screen
continues until the information ends.
IF...THEN statements can only be used in command macro files.
The general form of an IF...THEN statement is: IF (boolean) THEN
The boolean can take any form, but must be either a simple function
or it must be enclosed in parentheses, and it must have a scalar result.
A result of 1 is true, while anything else is false. An IF...THEN
statement can precede a single command. An IF...THEN statement can
begin a block of commands, but it must be closed off with an ENDIF
statement. Nested IF...THEN statements are allowed. The maximum number
of IF...THEN blocks allowed within a file is 50.
Syntax: INPUT x1 { x2 ... x8 }
INPUT\MATRIX m nr nc
Qualifiers: \MATRIX
Defaults: create vectors
The INPUT command is used to interactively enter data, from the terminal
keyboard, into vector(s) or into a matrix. The default is to create vectors.
If the INPUT command is used in a command macro file, input will still be
expected from the terminal keyboard.
Syntax: INQUIRE `prompt string' v1 { v2 ... }
Defaults: if vI does not exist, it is assumed to be a scalar
Examples: INQUIRE `Enter value >>' AVALUE
INQUIRE `Enter YES or NO >>' TXT
This command is intended for use in command macro files. The prompt string
is written to the monitor screen. The correct number and type of values
corresponding to the variable names following the prompt string are expected
to be entered from the keyboard. If just a carriage return is typed without
other response to the inquire prompt, the variables are left unchanged.
Syntax: JOURNAL filename
Qualifiers: \APPEND, \MACRO
Defaults: \NOAPPEND, \-MACRO, initial journal file = PHYSICA.JOURNAL
A journal file is a record of all user input to PHYSICA, as well as all non-
graphics output, such as error messages, from PHYSICA. The initial state is
to have journaling on, journaling of macro commands off, and the initial
journal file is PHYSICA.JOURNAL Journaling can be disabled by entering
DISABLE JOURNAL. This closes the file. Entering DISABLE JOURNAL\MACRO only
disables journaling of macro commands. If you enter ENABLE JOURNAL, the last
journal file that was open will be reopened, and subsequent entries will be
appended to the last open journal file. To open a new journal file, use the
JOURNAL command. To open with append, use the \APPEND qualifier. To also
journal macro commands, use the \MACRO qualifier. To find out whether a
journal file is currently open, and if so, to display the name of the current
journal file, enter the STATUS command.
If JOURNAL is enabled, the DISPLAY string command will write the string
to the journal file the same way it is written to the monitor screen.
If JOURNAL\MACRO is enabled, the DISPLAY command itself will ALSO be
written to the journal file.
Syntax: KEYWORD
This command enters an interactive mode, where you type a keyword and the
online help locations of that keyword are displayed. The help locations are
seperated by blanks, while vertical bars, |, seperate the levels within each
location. For example, typing the keyword SHELL, displays the help locations
DISABLE|SHELL ENABLE|SHELL. You could find information on SHELL by typing
HELP DISABLE SHELL or HELP ENABLE SHELL. The wildcard is *, an initial
wildcard and/or a final wildcard are allowed. For example, *inc* displays
"inch inches nlxinc nlyinc nsxinc nsyinc" which are valid keywords; while
inc* displays "inch inches". Typing a TAB, CTRL-I, is similar to using a
final wildcard, in that all matching keywords are displayed, unless there is
a unique keyword, and then the keyword is completed for you.
Syntax: LABEL { `text' }
Qualifiers: \XAXIS, \YAXIS
Defaults: no x-axis label, no y-axis label
Examples: LABEL\XAXIS TXTVAR[5][1:10]
LABEL\XAXIS
LABEL\YAXIS `This'//CHAR(39)//`s a label with a single quote'
LABEL\YAXIS `<alpha,beta,^>10'
This command sets the automatic x- or y-axis text label. Use \XAXIS to set
the x-axis label and use \YAXIS to set the y-axis label. Entering the
command without a parameter indicates that no automatic x- or y-axis text
label is to be drawn. The axis labels are drawn only when the axes are
drawn. The character string may contain format commands. Change fonts with
the SET FONT command; change the sizes of the text labels with SET XLABSZ
or %XLABSZ, SET YLABSZ or %YLABSZ. The x-axis text label is drawn, centred,
below the x-axis. The y-axis text label is drawn, centred, to the left of
the y-axis.
Syntax: LEGEND ON | OFF
LEGEND FRAME ON | OFF | { xlo ylo xhi yhi }
LEGEND TRANSPARENCY ON | OFF
LEGEND AUTOHEIGHT ON | OFF
LEGEND NSYMBOLS n
LEGEND TITLE { `title string' }
LEGEND STATUS
Defaults: legend off, frame on, transparency on, autoheight on,
units = %, (xlo,ylo) = (55,22.5), (xup,yup) = (78,45)
nsymbols = 1, no title
If LEGEND is ON, a short line segment, with plotting symbols, is drawn along
with a character string, when the GRAPH command is entered. The line segment
is drawn with the same line type and plotting symbols as the data curve. If
LEGEND is ON, a character string is expected as the first parameter of the
GRAPH command. This character string may contain formatting commands, see
the PLOTTEXT command for more information.
Syntax: LINE
LINE\XYOUT x y { pen_code { line_type { colour { line_thickness }}}}
LINE x y { pen_code { line_type { colour { line_thickness }}}}
Qualifiers: \GRAPH, \PERCENT, \WORLD, \XYOUT
Defaults: \PERCENT, interactive drawing
This command draws line segments. If no parameters are entered with the
LINE command, the graphics crosshair is used to draw interactively. If the
\XYOUT qualifier is used, the graphics crosshair is used to draw the line
segments, and the parameters are assumed to be output vectors in which to
store the line segment coordinates and other attributes. If the \XYOUT
qualifier is not used, and vectors are entered as parameters, then the
input vectors are assumed to contain coordinates and other attributes for
the line segments, and the graphics crosshair is not used.
Syntax: LIST x1 { x2 ... x5 } { n1 { n2 { n3 }}}
LIST\MATRIX matrix
LIST\MATRIX\FORMAT matrix (format)
Qualifiers: \MATRIX, \FORMAT, \PAGE, \COUNTER
Defaults: \-MATRIX, n1 = 1, n3 = 1, not paged, \COUNTER, format=1PD13.4
Examples: LIST X Y Z 1 10 2
LIST\PAGE X[10:#] Y Z
LIST\MATRIX M[1:NR,1:#]
LIST\MATRIX\FORMAT M (6(F10.3,2X))
By default, this command displays a listing of the specified vectors, xI,
from index n1 to index n2 by increments of n3. n1 defaults to 1 and n3
defaults to 1 if either are not entered. If n2 is not entered, all the
elements of each vector are listed.
Syntax: LOAD filename{,libraries}
Examples: LOAD MYFILE
LOAD MYFILE,LIB1/LIB,LIB2/LIB
This command dynamically loads and links a user written object module of a
user written subroutine or a user written REAL*8 function. Only one object
module can be loaded at a time. A subsequent LOAD command will simply
replace the old module with the new. If a function is loaded, it is used
in expressions via the name USERN. If a subroutine is loaded, it is used
via the CALL command. For examples of user written routines, see the source
code: PHYSICA$DIR:PHYSICA_USER_FUNCTIONS.FOR
Syntax: MAP\FIOWA name
MAP\FIOWABIG name
MAP\NOVA
MAP\YBOS
MAP\HBOOK name
This command is used to map onto shared memory, under unix, or a global
section, under VMS. The FIOWA, FIOWABIG, and NOVA options are only available
under VMS. The YBOS option is only available under DEC AXP OSF/1. The HBOOK
option is available everywhere except for HP-UX.
Syntax: MATRIX m1 { m2 ... } nr nc
Examples: MATRIX M 10 20
MATRIX M1 M2 M3 10 20
This command defines m1 to be a matrix with nr rows and nc columns. Other
variable names, mI, may be included, and they will also be defined to be
matrices with the same dimensions. If mI exists and is a matrix, then it
will be either trimmed down to the specified dimensions or zero filled to
expand it. If mI is not already a matrix, it will be created and zero
filled. If mI is a vector or a scalar, it will be destroyed first.
Syntax: MIRROR
This command reverses the horizontal dimension, which is useful for drawing
on a transparency in mirror image. This might be done for overhead
projectors because one can display the plot and write or erase on the
transparency without disturbing the drawing on the other side. The MIRROR
command should be entered before opening an EDGR file. This command acts like
a toggle switch. If MIRROR is currently on (off) then it will be turned off
(on) when the command is entered. The default is off.
Syntax: MONITOR { keyword }
This command is used to select a terminal monitor graphics output device.
Selecting a monitor type necessitates clearing the graphics. The MONITOR
command should be entered before opening an EDGR file.
keyword | keyword
-----------------------------------+----------------------------
ON - enable graphics output | TK4107 - Tektronix 4107
OFF - disable graphics output | PT100G - Plessey PT-100G
VT640 - Digital VT640 | GR1105 - Seiko GR-1105
VT241 - Digital VT241 | GENERIC - generic terminal
CIT467 - Citoh CIT-467 | X - X Window System
TK4010 - Tektronix 4010/12 |
Syntax: ORIENTATION keyword
Defaults: initial orientation = landscape
This command sets the graphics orientation. This requires that the graphics
be cleared, which is done automatically. There are two basic graphics
orientations available in PHYSICA.
keyword meaning
----------------------------------------------------------------------------
LANDSCAPE the world coordinate system is oriented so the large dimension
is horizontal
PORTRAIT the world coordinate system is oriented so the large dimension
is vertical
Syntax: PEAK xout yout
PEAK\PNUM xout yout num
Qualifiers: \PNUM
Defaults: \NOPNUM, num = number of last drawn data curve
This command brings up the graphics cursor, and interacts with the user
through a keystroke menu, to find the minima or maxima of the current data
curve drawn on the screen. The coordinates of the peaks so found are stored
in the specified variables xout and yout. By default, the data curve
referenced is the last one drawn. When the graphics cursor is brought up, the
program is waiting for input of a one or two character keycode.
Syntax: PICK { xout yout { y1 { n1 } y2 { n2 } ... }}
Qualifiers: \NPTS, \POLYGON, \MATRIX, \COUNTS, \MIN, \MAX, \DISPLAY
Defaults: nI = I, \NONPTS, \NOPOLYGON, \NOMATRIX, \NOCOUNTS, \NOMIN, \NOMAX
The default action for this command is to pick points off a graph which is
currently displayed on the monitor screen, and to optionally save the values
in output vectors, xout and yout. It is assumed that a graph is present on
the screen and none of the plot characteristics have been changed after the
plot was done. The graphics cursor is used, and various actions depend on
which key is typed from the keyboard.
Syntax: PIEGRAPH w e f c o r { cx cy { a }}
Qualifiers: \GRAPH, \PERCENT, \WORLD
Defaults: \PERCENT, a = 0
This command draws pie charts. The first five parameters are vectors which
define each wedge of the pie. The radius of the pie chart is r. The scalars
cx and cy are the x and y coordinates of the centre of the pie. If either cx
or cy is not entered, the graphics cursor will be used to choose that
coordinate. The starting angle, in degrees, for the first wedge is specified
by the scalar a, which defaults to zero.
Syntax: PLOTTEXT filename
This command draws lines of formatted text that are read from a file. Text
formatting commands and special characters, bracketed by the command
delimiters, can be interspersed in the lines of text.
Syntax: POLYGON xpoly ypoly xdata ydata key
Qualifiers: \INSIDE
Defaults: \INSIDE
This command creates a vector, key, which will have the same length as
vectors xdata and ydata. If \INSIDE is used, or if no qualifier is
used, key[i] = 1 if the point (xdata[i],ydata[i]) is inside the polygon
given by vectors xpoly and ypoly, otherwise key[i] = 0. If \NOINSIDE
is used, key[i] = 0 if the point (xdata[i],ydata[i]) is inside the polygon
given by vectors xpoly and ypoly, otherwise key[i] = 1.
Syntax: QUIT
Qualifiers: \CLEAR
Examples: QUIT
QUIT\CLEAR
The QUIT command is the cleanest way to stop the program. This does
a complete FORTRAN STOP. You cannot re-enter PHYSICA after quitting,
without re-running the program. See also the EXIT command.
If the \CLEAR qualifier is appended to the QUIT command, the
graphics is cleared before the program is stopped.
Syntax: REBIN v vout n
REBIN m mout nr nc
Examples: REBIN X XRB 2 ! X is a vector
REBIN M M2 3 5 ! M is a matrix
This command rebins the data in either:
the vector v by the compression value n; or
the matrix m by the row compression value nr and the column value nc.
Syntax: RENAME oldname newname
RENAME old* new*
RENAME *old *new
This command renames variables. The simplest case is to rename one variable.
For example: RENAME XOLD XX renames the variable XOLD to XX.
If the wildcard * is the last character in the old name, all variables
beginning with the preceding characters will be renamed. For example:
RENAME X1* XX* ! renames X1 to XX, X1X to XXX, and X1Y to XXY.
If the wildcard is the first character in the old name, all variables
that end with the succeeding characters will be renamed. For example:
RENAME *X *Y2 ! renames X to Y2, AX to AY2, XX to XY2.
Syntax: REPLOT { nw }
REPLOT\ALLWINDOWS
Qualifiers: \AXES, \ALLWINDOWS, \TEXT
Defaults: \AXES, nw = current window number, \TEXT
By default, information pertaining to curves produced by GRAPH and ELLIPSE
are saved in replot buffers. If all of the data does not appear within the
axis boundaries, you can use the REPLOT command to redraw and have all of
the data appear on a single graph. The window number, nw, defaults to the
current window number. If nw is entered, nw becomes the current window.
Only the data drawn into window nw will be replotted. If the REPLOT command
is entered without a window number and without the \ALLWINDOWS qualifier,
the graphics will be automatically cleared. If using a window number or
\ALLWINDOWS, make sure that the appropriate windows are cleared before
entering the REPLOT command.
Syntax: RESTORE filename
Qualifiers: \PHYSICA, \FIOWA, \XFIOWA, \MUD, \MSR, \IMSR, \CHAOS, \YBOS,
\HBOOK, \NOVA
Default: \PHYSICA
This command restores data sets, either previously saved PHYSICA
sessions, FIOWA type data sets, muSR MUD, MSR, or IMSR type data sets,
CHAOS type data sets, YBOS type data sets, or HBOOK type data sets.
Syntax: RETURN
This command is to be used in conjunction with command macro files. If the
RETURN command is encountered in a command file, control passes back to the
calling macro, if there is one, or to the keyboard, if that macro was the
top level macro. You can also type RETURN from the keyboard after a TERMINAL
command to abort that macro.
Syntax: SAVE filename
The SAVE command saves all the variable names, contents, and histories
associated with the current run. This includes all scalars, vectors,
matrices, and text variables. The information is written in a special
binary format into the specified file. The run may be resumed later by
means of the RESTORE command. The plot information necessary for a replot
is saved. The window definitions are saved, as well as the colour,
the default filename extension for executable files, the stack file,
autoscaling type, and any aliases that have been defined. The hardcopy
device as chosen with the DEVICE command is saved, as well as the graphics
orientation. User defined function information is not saved, but must be
regenerated explicitly in the restored session.
Syntax: SCALAR s1 { s2 ... }
Qualifiers: \DUMMY, \VARY
Examples: SCALAR A
SCALAR\DUMMY A B C
SCALAR\VARY S1 S2
This command defines s1 to be a scalar. Other variable names, s2 ..., may
be included, and they will also be defined to be scalars. If sI already is
a scalar, its value will be unchanged. If sI is an existing variable, but
not a scalar, it will be destroyed first. If sI does not exist, it will be
created and initialized to 1.
Syntax: SCALES minx maxx nlxinc miny maxy nlyinc
SCALES minx maxx miny maxy
Qualifiers: \COMMENSURATE
Defaults: nlxinc=0 & nlyinc=0 if not entered, non-commensurate axes
This command turns off the axis autoscaling feature and sets the graph
scales for subsequent graphs as follows:
minx - minimum value to display on the x-axis
maxx - maximum value to display on the x-axis
nlxinc - number of large (numbered) tic marks on the x-axis
miny - minimum value to display on the y-axis
maxy - maximum value to display on the y-axis
nlyinc - number of large (numbered) tic marks on the y-axis
If no parameters are entered, the scales are frozen at the current values.
The current values of minx, maxx, nlxinc, miny, maxy, and nlyinc will be
displayed. If 4 parameters are entered, nlxinc and nlyinc default to zero.
Syntax: SET { keyword { value }}
SET { keyword = value }
Examples: SET %XLAXIS 20
SET %XLAXIS=XLX
The SET command sets the values of the GPLOT plot characteristic keywords
and the PHYSICA specific keywords. Use the GET command to get these values.
If the command is entered with no parameters, more than one keyword value
can be set without re-entering the SET command. Other keywords will be
requested until a blank line is entered, at which time the user is put back
into command line entry mode. If the command is used in this way in a macro
command file, the blank line is necessary to indicate that the SET command
is finished. If a keyword is entered with the command, only that keyword's
value can be changed. If the input value is not entered after the keyword,
the current value is displayed on the monitor screen, and you can then enter
a new value. If a value is entered, the keyword is assigned the new value.
All keywords have numeric values, except for the FONT, CUNITS, and UNITS
keywords, which are character valued. The VERSION and VERSIONDATE keywords
are also character valued, but they cannot be altered.
Syntax: SHOW v1 { v2 ... }
Qualifiers: \VECTORS, \SCALARS, \MATRICES, \TEXT, \VARY, \FIXED, \DUMMY
Defaults: all variables displayed
Examples: SHOW
SHOW X*
SHOW\VECTORS\SCALARS *ABC*
SHOW\SCALARS\-FIXED\-DUMMY
This command displays: the current vectors, their lengths and histories; the
current scalars, their values and histories; the current matrices, their
dimensions and histories; and the current text variables, their lengths and
contents. If a variable name is entered, only the information about that
variable is listed. Valid wildcard usages are (where x represents one or
more characters): *x --> all variables that end with x
x* --> all variables that start with x
*x* --> all variables that contain x
Syntax: SLICES n x y z { angle }
Defaults: angle = 30 degrees
Examples: SLICES 5 X Y Z
SL 10 X Y Z 45
This command bins the x, y, and z vectors into n slices, and produces a
graphical representation of this binned data. The x, y and z vectors are
assumed to represent scattered data points (x[i],y[i]) with altitude z[i].
By default, the z-axis is drawn at an angle of 30 degrees. This angle can be
specified by including the angle parameter.
This command is open for suggestions.
Syntax: SORT x { x1 x2 ... }
Qualifiers: \UP, \DOWN
Defaults: \UP
Examples: SORT X Y
SORT\DOWN X Y Z
SORT\UP X Y Z
This command sorts vectors into ascending or descending order. By default,
the vector x is sorted into ascending order. Ascending order means that
element 1 will be the smallest element. To sort vector x into descending
order, use the \DOWN qualifier. Descending order means that element 1 will
be the largest. Vector x will be altered. If other vectors, xI, are entered,
then they will not be sorted, but they will be re-arranged in the same way
that x is re-arranged. For example, if element x[i] becomes x[j] because of
sorting, then xI[i] will become xI[j].
Syntax: STACK filename
Qualifiers: \APPEND, \EXECUTE
Defaults: \NOAPPEND, \EXECUTE
A stack file will contain all the subsequently entered commands. The STACK
command is a way of interactively creating a macro command file, and is meant
to be used in conjunction with the EXECUTE command. Commands that are being
stacked in a file can be executed later. To turn off the stacking feature,
use the DISABLE STACK command, after which commands will no longer be written
to the previously named stack file. To re-enable the same stack file, use the
command ENABLE STACK, after which subsequent commands will be appended to
that file.
Syntax: STATISTICS x { s1\keyword { s2\keyword ... }}
STATISTICS\MOMENT w x n { sout }
STATISTICS\PEARSON x y rcof prob
Command qualifiers: \MESSAGES, \WEIGHTS, \MOMENT, \PEARSON
Parameter qualifiers: \MIN, \IMIN, \JMIN, \MAX, \IMAX, \IMIN, \JMIN,
\MEAN, \GMEAN, \MEDIAN, \SDEV, \ADEV, \VARIANCE,
\RMS, \KURTOSIS, \SKEWNESS, \SUM
Defaults: \MESSAGES, \NOWEIGHTS
Examples: STATISTICS X
STATISTICS\NOMESSAGES X XMED\MEDIAN XMEAN\MEAN
STATISTICS\WEIGHTS W X XVAR\VARIANCE XSUM\SUM
This command calculates statistics for the input variable, x, a vector
or a matrix. Specific statistics are chosen with parameter qualifiers.
Syntax: SURFACE matrix { xangle { zangle { vsf { psf }}}}
Qualifiers: \COLOUR, \NORMAL, \HISTOGRAM, \XZLINES, \XLINES, \ZLINES
Defaults: \NOCOLOUR, \NORMAL, \XZLINES,
xangle= -45 degrees, zangle= -45 degrees, vsf= 1, psf= 0
Examples: SURFACE M
SURFACE\COLOUR M
SURFACE\HIST M -30 -60
SURFACE\NORMAL\ZLINES M -45 -45 2
This command displays a matrix in the form of a 3-d figure which can be
rotated in space. The appearance of the figure is controlled by qualifiers
and optional parameters. Unlike most other PHYSICA commands, once one of
the optional parameters has been changed to a new value, that value becomes
the default.
Syntax: TERMINAL { `string' }
Default: `string' = `type <RETURN> to continue'
Examples: TERMINAL
TERMINAL `display this message'
If this command is encountered in a command macro file that is being
executed, control is passed back to the terminal keyboard. Commands can
then be entered interactively. To continue execution of the command macro
file, type the <RETURN> key without entering anything. The command macro
file will then continue execution with the command immediately following the
TERMINAL command. By default, the message `type <RETURN> to continue' will
be displayed. You can specify the message by entering a character string with
the command.
Syntax: TEXT { `textstring' }
Qualifiers: \GRAPH, \ERASE, \CONFIRM
Defaults: \CONFIRM, \NOGRAPH, \NOERASE
Examples: TEXT\NOCONFIRM `This is a text string'
TEXT `The value of A is '//RCHAR(A)//` and B = '//RCHAR(B)
TEXT `<alpha,^>2<_,gamma>=<Phi>'
TEXT TIME//DATE
TEXT\ERASE\NOCONFIRM
By default, this command draws character strings. The `textstring' defaults
to the last character string that was entered with the TEXT command. Users
should familiarize themselves with the Low Level Graphics and Graph Plotting
manual, particularly the text drawing subsection. Use the SET FONT command to
set the font (default: TSAN).
Syntax: TILE filename
This command is used for drawing complicated bar graphs. The numbers which
define the rectangular bars are read from a file. Character strings may also
be drawn. Comment lines in the file are ignored, where a comment line is any
line that begins with a !.
Syntax: TLEN txt lenout
This command returns lenout, the number of string elements of the array
text variable txt. For example, suppose
T[1]=`string 1'; T[2]=`string 2'; T[3]=`string 3'
then TLEN T L would return the scalar L = 3.
Syntax: TRANSFORM x p f(x,p) xout
Example: TRANSFORM X P EXP(-P*X*X) TX
This command performs integral transforms of the function f(x,p). The
function is integrated over the entire range of definition as defined by
the independent variable x. The integral is evaluated for each value of the
parameter array p, with the result stored in the transform array xout. The
function f(x,p), which forms the integrand of the transform integral, may
contain other scalars, or other vectors dimensioned identically to x. Such
vectors are considered, and integrated, as functions of the independent
variable x. Vectors of mismatched size will generate an error.
This command can be used to perform standard transforms such as Laplace or
Hankel transforms. Fourier transforms should be done using the FFT function,
as this is much faster.
Syntax: UNIQUE x y xout yout
UNIQUE\INDICES x y idx { (index_expression) }
Qualifiers: \MESSAGES, \INDICES
Defaults: \MESSAGES, \NOINDICES
This command finds adjacent duplicate points in the vectors x and y. A
duplicate point means that x[i] = x[i+1] and y[i] = y[i+1]. By default,
the vectors xout and yout are created, and will contain no adjacent
duplicate points. If none are found, xout = x and yout = y.
Syntax: USE filename
This command causes program input to come from a file, instead of from the
keyboard. When the end of file is reached, input will again be expected to
be entered from the keyboard. Nesting is not allowed. Within USE files,
labels, GOTO statements, IF...THEN statements, and DO loops are not allowed.
This command should be useful to enter blocks of commands when the TERMINAL
command has been encountered while executing a macro script file, since it
is not allowed to execute another script from that mode.
All numeric literals in PHYSICA are stored internally as double precision
real numbers. Numeric valued variables are stored internally as double
precision real numbers, but PHYSICA also allows string valued variables.
A SCALAR is a single number.
A VECTOR is a one dimensional list of numbers.
A MATRIX is a two dimensional array of numbers.
A STRING is a character string.
A STRING ARRAY is an array of strings.
Except for some variables which are created automatically by various
commands, each variable is named by the user.
Indices can be used on any numeric variable, except scalars, and on any
string variable. A string variable is a string, and can have only one
index, which is interpreted as a character index. A string array variable
is an array of strings, and can have either one or two indices. If one
index is used, it is assumed to be an array index. If two sets of indices
are used, the first is assumed to an array index and the second is assumed
to be a character index. Indices can also be used on functions, and on
expressions. An index can be a simple numeric literal or a complicated
expression. Indices can also be nested.
Syntax: VECTOR x1 { x2 ... } n
Example: VECTOR X Y Z 10
This command defines xI to be a vector with length n. If xI exists and is
a vector, then it will be either trimmed down to the specified length or
zero filled to expand it. If xI is not already a vector, it will be created
and zero filled. If xI is a matrix or a scalar, it will be destroyed first.
Syntax: VOLUME x y z { volm }
VOLUME\MATRIX { x y } m { volm }
Qualifiers: \MATRIX, \POLAR
Defaults: \NOPOLAR, x=[1;2;...], y=[1;2;...]
By default, this command calculates the volume under the scattered points
given by vectors x, y and z=f(x,y). The output is an optional scalar, volm.
If volm is not entered, the volume is simply displayed. The region given by
x and y is first triangulated, using a Thiessen triangulation, then the
integral is approximated by integrating the piecewise linear interpolants of
the data values. If the \POLAR qualifier is used, x is assumed to be the
radial components and y the angular components, in degrees.
Syntax: WAIT n
This command causes a delay of n seconds. This is included for use when
EXECUTing a command macro file. Suppose some message is displayed on the
monitor screen, via the DISPLAY command, and the user is expected to
interactively enter some information. One could ring the bell, using the
BELL command, display the message, and then cause a wait of a few seconds
before clearing the screen. The user would then have a better opportunity
to read the message and then act on it.
Syntax: WINDOW { n { lowx lowy { upx upy }}}
WINDOW\TILE nx ny nstart
Qualifiers: \TILE, \MESSAGES
Defaults: \NOMESSAGES, nstart = 1
This command chooses a subset of the graphics page or world. The default
window is the entire page, that is, window number zero. Windows are an easy
way to subdivide the graphics output page into rectangular regions, allowing
multiple graphs and/or multiple figures and/or multiple text regions. A
window, other than window 0, has a smaller plotting unit range than the full
page. Commensurateness is not lost in a sub-window. Windows are transparent
to EDGR. If no parameters are entered, a listing of the currently defined
windows will be displayed along with their corner coordinates.
Syntax: WORLD vxin vyin { vxout vyout }
Qualifiers: \PERCENT
Defaults: absolute coordinates returned
Examples: WORLD 10 20
WORLD AX AY AXW AYW
WORLD\PERCENT X Y XW YW
This command converts graph coordinates into world coordinates, or into
percentages if the \PERCENT qualifier is used. The world coordinates are
either centimeters or inches depending on the units chosen with the SET
UNITS command. The default is centimeters. The variables vxin and vyin
may be scalars or vectors, but they must both be the same type. The
resultant values are displayed on the monitor screen, and if output
variables vxout and vyout are present, then the values are stored there.
The type of variable created depends on the type of vxin and vyin.
Syntax: WRITE file x1 { x2 ... }
WRITE\SCALAR file s1 { s2 ... }
WRITE\MATRIX file matrix
WRITE\TEXT file txtvar
Qualifiers: \SCALAR, \MATRIX, \TEXT, \FORMAT, \APPEND
This is a general purpose writing command for vectors, scalars, matrices,
or character strings. The variable type that will be written depends on the
qualifier appended to the command. The parameters that are expected also
depend on this qualifier. By default, the WRITE command writes vectors to a
file. If the \APPEND qualifier is used, and if the output file already
exists, the data will be appended onto the end of the file. Columns of data
will be written to the file, where the I_th column will be vector xI. The
number of lines that are written to the file will be the minimum length of
the vectors. A maximum of 29 vectors can be written with one WRITE command.
Syntax: ZEROLINES
Qualifiers: \HORIZONTAL, \VERTICAL
Default: both horizontal and vertical lines drawn
This command draws horizontal and/or vertical lines on a graph through (0,0).
ZEROLINES\HORIZONTAL -- draw line through (0,0), parallel to the x-axis,
from the left edge, XMIN, to the right edge, XMAX
ZEROLINES\VERTICAL -- draw line through (0,0), parallel to the y-axis,
from the bottom edge, YMIN to the top edge, YMAX
ZEROLINES -- both lines are drawn
The line(s) will have the current line type, as set with the SET LINTYP
command (default: LINTYP=1).
500 Glenridge Avenue
St. Catharines, Ontario, L2S 3A1