home *** CD-ROM | disk | FTP | other *** search
/ TopWare 18: Liquid / Image.iso / liquid / top1184 / gepackt.exe / GRAPHICA.FIL < prev    next >
Encoding:
Text File  |  1994-02-22  |  173.7 KB  |  4,660 lines

  1. ≡about
  2.  ┌──────────────────────────────────────────────────────────────────────┐
  3.  │                            G R A P H I C A                           │
  4.  └──────────────────────────────────────────────────────────────────────┘
  5.  
  6.  Graphica is a command-driven interactive graphics program for making
  7.  presentation quality graphs on a computer.  This two-dimensional data
  8.  plotting system is designed specifically for scientific and engineering
  9.  applications.  Graphica is easy to use, interactive, powerful and it
  10.  runs on personal computers, mainframes and workstations.  With Graphica,
  11.  you can:
  12.  
  13.      o   plot data or functions
  14.      o   evaluate and plot mathematical expressions
  15.      o   fit splines, polynomials and smooth data
  16.      o   display and print graphs on hardcopy devices
  17.      o   export graphs in HPGL, PostScript and other output formats
  18.      o   draw text in 11 different fonts, including roman, greek,
  19.          cyrillic and gothic
  20.      o   draw hundreds of specialized symbols
  21.      o   get online help
  22. ≡arrow
  23. ≡noarrow
  24.  Syntax:
  25.  ┌──────────────────────────────────────────────────────────────────────┐
  26.  │   arrow {tag} {from sx,sy} {to ex,ey} {len} {ang} {type (1-5)}       │
  27.  │   noarrow {tag}                                                      │
  28.  └──────────────────────────────────────────────────────────────────────┘
  29.  
  30.  Description:
  31.  
  32.  The 'arrow' command is used to draw arrows.  All positions (x,y) default
  33.  to 0,0.  The x and y values are real numbers.  These values can be either
  34.  in the paper (inches) or the graph coordinate system (mapped units)
  35.  depending on the status of the location flag (see the LOCATION command).
  36.  
  37.  The tag is an integer that may be used to identify a given arrow.
  38.  If no tag is given, the lowest unused tag value is assigned
  39.  automatically.  This tag can be used to delete or change a specific
  40.  arrow.  To change any attribute of an existing arrow, use the arrow
  41.  command with the appropriate tag, and specify the parts of the arrow
  42.  to be changed.
  43.  
  44.  An optional arrow type may be specified.  The default arrow type is
  45.  3 or full.  The available arrow types are:
  46.  
  47.      type = 1           single wing
  48.      type = 2           single wing with a back line
  49.      type = 3           full
  50.      type = 4           full with a half dimension line
  51.      type = 5           full with a dimension line
  52.  
  53.  The arrowhead length and width are 20% and 6% of the total arrow length.
  54.  If the arrowhead length is less than 1/8", it will remain at 1/8"
  55.  regardless of the total arrow length.
  56.  
  57.  Entering 'arrows' by itself simply shows the currently defined arrows.
  58.  
  59.  Examples:
  60.  
  61.  to set an arrow pointing from the origin to (1,2) use:
  62.      » arrow to 1.0,2.0
  63.  
  64.  to set an arrow from (-10,4) to (-5,5), and tag the arrow number 3, use:
  65.      » arrow 3 from -10,4 to -5,5
  66.  
  67.  to change the preceding arrow begin at 1.1,1.3, use:
  68.      » arrow 3 from 1.1,1.3
  69.  
  70.  to delete arrow number 2 use:
  71.      » noarrow 2
  72.  
  73.  to delete all arrows use:
  74.      » noarrow
  75. ≡audit
  76.  Syntax:
  77.  ┌──────────────────────────────────────────────────────────────────────┐
  78.  │   audit {'filename'}                                                 │
  79.  └──────────────────────────────────────────────────────────────────────┘
  80.  
  81.  Description:
  82.  
  83.  This command makes a copy of all your input commands into the given
  84.  filename.  You may later use it as a 'load' or 'input' file.
  85.  
  86.  Examples:
  87.  
  88.      » audit 'trace.dat'
  89.      » audit
  90.  
  91.  in the latter case, a file called 'graphica.odt' will contain a trace
  92.  of anything entered at the command line after entering 'audit'.
  93. ≡autoscale
  94. ≡noautoscale
  95.  Syntax:
  96.  ┌──────────────────────────────────────────────────────────────────────┐
  97.  │   autoscale {x,y,y2,x2}                                              │
  98.  │   noautoscale                                                        │
  99.  └──────────────────────────────────────────────────────────────────────┘
  100.  
  101.  Description:
  102.  
  103.  Frequently, it is difficult for the user to select suitable axis limits
  104.  and step sizes, especially if the data being plotted varies greatly from
  105.  one execution of the program to the next.  For this reason Graphica
  106.  provides automatic axis scaling for all axes as the default.
  107.  
  108.  The autoscale command sets the autoscaling feature for an axis.  If an
  109.  axis is not autoscaled, the default or current map is used when data is
  110.  plotted.
  111.  
  112.  Entering 'autoscale' by itself simply shows the currently defined scaling.
  113.  
  114.  Examples:
  115.  
  116.      » autoscale x
  117.      » noautoscale
  118.  
  119.  Another example.  Suppose you have a data file with two columns of data,
  120.  x and y but don't know their ranges.  You could do the following:
  121.  
  122.      » data 'mydata.dat'
  123.      » draw data
  124.      » plot x y
  125.  
  126.  and determine how the data looks.  The axes are autoscaled.  Then you could
  127.  say,
  128.  
  129.      » noaxes
  130.      » map x 0 100 y 30 200
  131.  
  132.  where the mapped range would be your own values and then,
  133.  
  134.      » draw x y
  135.  
  136.  would draw the axes with the desired mapped range.
  137. ≡noaxes
  138. ≡axes
  139.  Syntax:
  140.  ┌──────────────────────────────────────────────────────────────────────┐
  141.  │   noaxes                                                             │
  142.  └──────────────────────────────────────────────────────────────────────┘
  143.  
  144.  Description:
  145.  
  146.  The 'noaxes' command will delete any previously specified axes, so the
  147.  effect is as if the axes had never been drawn.  It is very useful for one
  148.  important reason:  Graphica maintains a list in memory of all the axes that
  149.  have been drawn on the same page.  For example, if you had 2 graphs on one
  150.  page and needed to get a hardcopy, Graphica would have to keep track of
  151.  where everything is so that it could give you an exact reproduction on
  152.  paper of what you had on your screen.  The 'noaxes' command effectively
  153.  wipes out all traces of previously drawn axes and lets you start anew.
  154.  
  155.  Entering 'axes' by itself simply shows the currently defined axes.
  156.  
  157.  Examples:
  158.  
  159.      » noaxes
  160. ≡background
  161.  Syntax:
  162.  ┌──────────────────────────────────────────────────────────────────────┐
  163.  │   background {color} {integer}/<name>                                │
  164.  └──────────────────────────────────────────────────────────────────────┘
  165.  
  166.  Description:
  167.  
  168.  Sets the background color.  See the PEN COLOR command for more
  169.  details about the colors available to use with this command.
  170.  
  171.  Entering 'background' by itself simply shows the currently defined
  172.  background color.  The default background color is 'black'.
  173.  
  174.  Examples:
  175.  
  176.      » background 3
  177.      » back red
  178. ≡beep
  179. ≡nobeep
  180.  Syntax:
  181.  ┌──────────────────────────────────────────────────────────────────────┐
  182.  │   beep                                                               │
  183.  │   nobeep                                                             │
  184.  └──────────────────────────────────────────────────────────────────────┘
  185.  
  186.  Description:
  187.  
  188.  These two commands are used to toggle Graphica beeps on and off.
  189.  The default is on.
  190.  
  191.  Examples:
  192.  
  193.      » beep
  194.  
  195.  activates the beep when the screen has been drawn or when there is an error.
  196.  
  197.      » nobeep
  198.  
  199.  turns beeping off.
  200. ≡character
  201. ≡fonts
  202. ≡character fonts
  203.  Syntax:
  204.  ┌──────────────────────────────────────────────────────────────────────┐
  205.  │   character {gap,ratio,size,slant} <value>                           │
  206.  │   character {font} <integer>                                         │
  207.  └──────────────────────────────────────────────────────────────────────┘
  208.  
  209.  Description:
  210.  
  211.  This command sets character attributes such as the font type,
  212.  character gap, ratio, size and slant.
  213.  
  214.  A font is a collection of characters with a unified design.  The 'font'
  215.  command defines the font style for characters.  Characters may be
  216.  hardware or software generated.  The default font style is 1 which is a
  217.  software generated character.  The software generated character fonts are
  218.  based on a database originally created by Dr. A.V. Hershey while working at
  219.  the U.S. National Bureau of Standards.  They have been reorganized and
  220.  classified into several groups following the ASCII set.  The font sets
  221.  currently implemented are:
  222.  
  223.      font 1 = simplex roman
  224.      font 2 = simplex greek
  225.      font 3 = complex roman
  226.      font 4 = complex greek
  227.      font 5 = complex cyrillic
  228.  
  229.  and for registered users ten more:
  230.  
  231.      font 6 = simplex script
  232.      font 7 = complex script
  233.      font 8 = triplex roman
  234.      font 9 = gothic german
  235.      font 10 = gothic english
  236.      font 11 = gothic italian
  237.      font 12 = symbols I
  238.      font 13 = symbols II
  239.      font 14 = symbols II
  240.      font 15 = symbols IV
  241.  
  242.  Entering 'character' by itself simply shows the currently defined
  243.  character specs.
  244.  
  245.  The font files have to be somewhere in your DOS path.  Alternatively,
  246.  you may specify an environment variable called GRAPFONT containing the
  247.  font directory.  For example, if your fonts are in C:\GRAPHICA\FONTS,
  248.  then you would specify,
  249.  
  250.      SET GRAPFONT=C:\GRAPHICA\FONTS
  251.  
  252.  somewhere in your autoexec.bat file or in a batch file just before
  253.  running Graphica.  (Font files have the names YY**.BIN where ** is a
  254.  number from 01 to 15.)
  255.  
  256.  Extended character sets:
  257.  ------------------------
  258.  
  259.  Fonts 1 and 3 (simplex roman and complex roman) include "extended
  260.  ascii" characters.  This means that you can draw some more characters
  261.  without changing the font.  For example, A with an "umlaut" (two dots)
  262.  is ascii 143, a with a circle on top of it is 134, etc.  The extended
  263.  set is by no means complete yet but I'm getting there.  It maps the
  264.  MSDOS Multilingual (Latin I) code page set from ascii 127 to 212 (so
  265.  far, with a few missing symbols).  To use characters from the extended
  266.  set, lookup TEXT in this help system.
  267.  
  268.  Examples:
  269.  
  270.      » character size 0.15 ratio 0.6
  271.      » char gap 0.2 slant -10
  272.      » character font 2
  273.      » font 3
  274.  
  275.  This last command specifies a font of complex roman style.
  276.  
  277.  Also see CHARACTER FONT, CHARACTER GAP, CHARACTER RATIO, CHARACTER SIZE,
  278.  CHARACTER SLANT, SUBSCRIPT, SUPERSCRIPT, TEXT and ENVIRONMENT.
  279. ≡character gap
  280. ≡gap
  281.  Syntax:
  282.  ┌──────────────────────────────────────────────────────────────────────┐
  283.  │   character gap <value>                                              │
  284.  └──────────────────────────────────────────────────────────────────────┘
  285.  
  286.  Description:
  287.  
  288.  The character gap attribute defines the spacing between adjacent
  289.  characters in a text string, in the direction of the character path.
  290.  The character gap is defined as a fraction of the average character box
  291.  size.  The default gap of 0.0 implies that adjacent character boxes are
  292.  to be abutting.  A gap of 1.0 implies that a gap, equivalent to the
  293.  size of the average character box, is to be inserted between adjacent
  294.  characters along the path.  A gap of -0.5 implies that character boxes
  295.  are to partially overlap.
  296.  
  297.  Example:
  298.  
  299.      » character gap 1.0
  300. ≡character ratio
  301. ≡ratio
  302.  Syntax:
  303.  ┌──────────────────────────────────────────────────────────────────────┐
  304.  │   character ratio <value>                                            │
  305.  └──────────────────────────────────────────────────────────────────────┘
  306.  
  307.  Description:
  308.  
  309.  Specifies the ratio of the width of the character to its height.  The
  310.  default character ratio is 1.0.
  311.  
  312.  Example:
  313.  
  314.      » character ratio 0.8
  315. ≡character size
  316.  Syntax:
  317.  ┌──────────────────────────────────────────────────────────────────────┐
  318.  │   character size <value>                                             │
  319.  └──────────────────────────────────────────────────────────────────────┘
  320.  
  321.  Description:
  322.  
  323.  The character size attribute defines the vertical size of the
  324.  characters in default units (in, cm, mm).  Graphica sets the default
  325.  character size of all strings and labels to 0.17 in.
  326.  
  327.  Example:
  328.  
  329.      » character size 0.2
  330. ≡character slant
  331. ≡slant
  332.  Syntax:
  333.  ┌──────────────────────────────────────────────────────────────────────┐
  334.  │   character slant <value>                                            │
  335.  └──────────────────────────────────────────────────────────────────────┘
  336.  
  337.  Description:
  338.  
  339.  Specifies the number of degrees the characters tilt from the vertical.
  340.  The sign convention for the direction of rotation is as follows:
  341.  
  342.      + clockwise
  343.      - counterclockwise
  344.  
  345.  The default character slant is 0.0 degrees.
  346.  
  347.  Example:
  348.  
  349.      » character slant 25
  350. ≡cd
  351.  Syntax:
  352.  ┌──────────────────────────────────────────────────────────────────────┐
  353.  │   cd <directory-name>                                                │
  354.  └──────────────────────────────────────────────────────────────────────┘
  355.  
  356.  Description:
  357.  
  358.  The 'cd' command changes the working directory to <directory-name>.
  359.  
  360.  Examples:
  361.  
  362.      » cd c:\work
  363.      » cd ..
  364.      » cd c:\work\examples
  365. ≡circle
  366.  Syntax:
  367.  ┌──────────────────────────────────────────────────────────────────────┐
  368.  │   circle {center at <x>,<y>} {radius <value>}                        │
  369.  └──────────────────────────────────────────────────────────────────────┘
  370.  
  371.  Description:
  372.  
  373.  This command draws a circle with the given radius in user default
  374.  units at the given position (also in user default units).
  375.  
  376.  Entering 'circles' by itself simply shows the currently defined circles.
  377.  
  378.  Example:
  379.  
  380.      » circle radius 2.0 center at 3.0 4.0.
  381. ≡clc
  382.  Syntax:
  383.  ┌──────────────────────────────────────────────────────────────────────┐
  384.  │   clc                                                                │
  385.  └──────────────────────────────────────────────────────────────────────┘
  386.  
  387.  Description:
  388.  
  389.  The 'clc' command erases the current text screen.
  390.  
  391.  Example:
  392.  
  393.      » clc
  394.  
  395.  See also CLEAR.
  396. ≡clear
  397.  Syntax:
  398.  ┌──────────────────────────────────────────────────────────────────────┐
  399.  │   clear                                                              │
  400.  └──────────────────────────────────────────────────────────────────────┘
  401.  
  402.  Description:
  403.  
  404.  The 'clear' command erases the current graphics screen or output device
  405.  as specified by output.  It also resets all internal flags to the default
  406.  state found when entering Graphica, i.e. no axes, no frame, default map,
  407.  etc.  This usually generates a formfeed on hardcopy devices.
  408.  
  409.  Example:
  410.  
  411.      » clear
  412.  
  413.  See also CLC and DEFAULT.
  414. ≡column
  415.  Syntax:
  416.  ┌──────────────────────────────────────────────────────────────────────┐
  417.  │   column <integer> {is} {x,y,y2,x2}                                  │
  418.  └──────────────────────────────────────────────────────────────────────┘
  419.  
  420.  Description:
  421.  
  422.  This powerful command allows the assignment of any data column read
  423.  from a user file to a certain axis.
  424.  
  425.  Entering 'columns' by itself simply shows the currently defined columns.
  426.  
  427.  Examples:
  428.  
  429.       » column 3 y2
  430.       » column 2 is x 1 is y
  431.  
  432.  assigns column 3 of a data file to the x-axis and column 1 to the y-axis.
  433.  Then plot x y add points will generate a graph of column 3 versus column 1.
  434.  
  435.  Also see PLOT.
  436. ≡comment
  437.  ┌──────────────────────────────────────────────────────────────────────┐
  438.  │   comments                                                           │
  439.  └──────────────────────────────────────────────────────────────────────┘
  440.  
  441.  Comments are supported as follows:  a '#' (hatch) may appear in most
  442.  places in a line and Graphica will ignore the rest of the line.  It
  443.  will not have this effect inside quotes or inside numbers (including
  444.  complex numbers).
  445.  
  446.  Examples:
  447.  
  448.      » # test file
  449.      » echo           # echo all commands from here on out
  450.      » # map axes
  451.      » map x 0 10 y 0 10
  452. ≡contributions
  453.  ┌──────────────────────────────────────────────────────────────────────┐
  454.  │ GRAPHICA Copyright (c) 1992-93 Antonio Montes.  All rights reserved. │
  455.  └──────────────────────────────────────────────────────────────────────┘
  456.  
  457.  GRAPHICA is shareware and as such is NOT FREE for use in a business,
  458.  commercial, government, or institutional environment.  Registration of
  459.  GRAPHICA for personal (not at the office) use is optional.  If you like
  460.  this program and find it useful, you can support its continued development
  461.  by sending me a contribution of NFL 50.- (dutch guilders) or US$25.00
  462.  (US dollars).  Your financial support is needed to encourage further
  463.  improvements to GRAPHICA.  Business, commercial, government, or
  464.  institutional GRAPHICA users must register GRAPHICA after a 30-day
  465.  evaluation period.  If you want to see additional features in GRAPHICA,
  466.  please send in a contribution.  Feel free to contact me for any reason.
  467.  
  468.  ┌──────────────────────────────────────────────────────────────────────┐
  469.  │   Antonio Montes      Internet address : antonio@amontes.fdc.iaf.nl  │
  470.  │   Postbus 13          CompuServe userid: 71031,1162                  │
  471.  │   2350 AA Leiderdorp                                                 │
  472.  │   The Netherlands                                                    │
  473.  └──────────────────────────────────────────────────────────────────────┘
  474. ≡data
  475. ≡file
  476.  Syntax:
  477.  ┌──────────────────────────────────────────────────────────────────────┐
  478.  │   data {from} {file} {'filename'} {autox}                            │
  479.  │            x(1) y(1)                                                 │
  480.  │            x(2) y(2)                                                 │
  481.  │            x(3) y(3)                                                 │
  482.  │              .    .                                                  │
  483.  │            x(n) y(n)                                                 │
  484.  │   end                                                                │
  485.  └──────────────────────────────────────────────────────────────────────┘
  486.  
  487.  Description:
  488.  
  489.  Discrete data contained in a file can displayed by specifying the name
  490.  of a data file (enclosed in quotes) on the plot command line.  Using the
  491.  'data' command simply reads in the data from a file, without plotting it.
  492.  
  493.  If the data to be plotted is on a data file already, then the command
  494.  'data {from} {file}' opens the data file and reads data points.
  495.  
  496.  Data files may contain one or more data points per line.  If more than
  497.  one data point is encountered on a line, the data points in a given
  498.  column are referred to as columns.  If just one value is given on a
  499.  line, the program will use the number of the coordinate as the x value.
  500.  Coordinate numbers start at 1 and are incremented for each data point
  501.  read.
  502.  
  503.  Lines beginning with # will be treated as comments and ignored.
  504.  Graphica will also ignore anything within two double quotes before
  505.  data on a line.
  506.  
  507.  Numbers can be separated by a comma or one or more blanks (free format).
  508.  There is no limit to the number of data points possible (well, until
  509.  memory is exhausted.)  Optionally, data pairs read interactively can be
  510.  put on a single input line.  You can't input multiple columns of data
  511.  interactively, just two columns.
  512.  
  513.  In data files, up to 20 columns of data can be read in on a line.  These
  514.  data can in turn be assigned to different axes with the COLUMN command
  515.  later on.
  516.  
  517.  Specifying 'autox' will result in the automatic assignment of the x
  518.  values starting from 1.  In other words, you may read in one or more
  519.  columns of y data only and Graphica will assign the x values for you.
  520.  
  521.  It is possible to have several sets of data one after another in the
  522.  same data file.  Simply separate the sets with blank lines:  Graphica
  523.  will read each set in sequence and plot the curves one after another.
  524.  This way you won't need a bunch of data filenames in one script file:
  525.  just put all the data in one data file separated by blank lines.
  526.  
  527.  Also see COLUMN.
  528.  
  529.  Examples:
  530.  
  531.  Interactive data input:
  532.  
  533.      » data                   # interactive data input only
  534.      » 1.0,10.0 2.0,20.0 3.0,30.0 4.0,40.0 5.0,50.0
  535.      » end
  536.  
  537.  Data file input:
  538.  
  539.      » data 'gel3.dat'
  540.      » data file 'comfil'
  541.      » data 'test.dat' autox
  542.  
  543.  In this last example, if 'test.dat' contained only one column of data
  544.  (the y values), x would be assigned automatically by Graphica.
  545. ≡default
  546.  Syntax:
  547.  ┌──────────────────────────────────────────────────────────────────────┐
  548.  │   default <parameter>                                                │
  549.  └──────────────────────────────────────────────────────────────────────┘
  550.  
  551.  Description:
  552.  
  553.  The 'default' command resets parameter settings to their default value.
  554.  The available parameters are:
  555.  
  556.      all
  557.      character
  558.      division
  559.      map
  560.      tic
  561.      unit
  562.  
  563.  Examples:
  564.  
  565.      » default all
  566.  
  567.  resets all the above parameters to their default value.  Graphica does
  568.  the equivalent of 'default all' at startup or when a 'paper size'
  569.  command is given.
  570.  
  571.      » def map
  572.  
  573.  resets all axes mapping to the default state.
  574.  
  575.  Also see CLEAR.
  576. ≡del
  577. ≡delete
  578. ≡rm
  579.  Syntax:
  580.  ┌──────────────────────────────────────────────────────────────────────┐
  581.  │   del <file>                                                         │
  582.  │   rm <file>                                                          │
  583.  └──────────────────────────────────────────────────────────────────────┘
  584.  
  585.  Description:
  586.  
  587.  The 'del' command deletes a file.  Pathnames, wildcards, and drive
  588.  designators may be used in the usual way for your operating system.
  589.  Other operating system commands can be issued using the $ character
  590.  followed by a command.  'rm' is the equivalent UNIX command.
  591.  
  592.  Examples:
  593.  
  594.      » del script.plt
  595.  
  596.  deletes the ASCII file script.plt.
  597.  
  598.      » del foo
  599.  
  600.  deletes the ASCII file foo.
  601.  
  602.  Also see DIR, SHELL, TYPE and WHAT.
  603. ≡digitize
  604.  Syntax:
  605.  ┌──────────────────────────────────────────────────────────────────────┐
  606.  │   digitize                                                           │
  607.  └──────────────────────────────────────────────────────────────────────┘
  608.  
  609.  Description:
  610.  
  611.  Establish the (x,y) coordinates of a point on the plot.  This position is
  612.  relative to the graphic origin (0,0), the lower left hand corner of the
  613.  paper on which the plot appears, and is given is the default unit system.
  614.  
  615.  If the mouse driver is loaded and your graphics card supports it (I
  616.  can only make it work with VGA), a crosshair will appear and you may
  617.  move it around by moving your mouse.  By pressing any mouse button the
  618.  point will be digitized.  If the mouse can't be used, the keyboard
  619.  (up/down/left/right) arrow keys will let you move a cross-hair around
  620.  until you hit the enter (or return) key.  Pressing H or D will half or
  621.  double the cursor step size.
  622.  
  623.  Example:
  624.  
  625.      » digitize
  626.  
  627.  will give you the coordinates of the point on which the cursor was on the
  628.  plot before you pressed return, in inches, cm or mm.
  629. ≡dir
  630. ≡ls
  631.  Syntax:
  632.  ┌──────────────────────────────────────────────────────────────────────┐
  633.  │   dir <file>                                                         │
  634.  │   ls <file>                                                          │
  635.  └──────────────────────────────────────────────────────────────────────┘
  636.  
  637.  Description:
  638.  
  639.  The 'dir' command lists the files and subdirectories in a directory.
  640.  Pathnames, wildcards, and drive designators may be used in the usual way
  641.  for your operating system.  Other operating system commands can be issued
  642.  using the $ character on the very first position of a line followed by a
  643.  command.  'ls' is the equivalent UNIX command.
  644.  
  645.  Examples:
  646.  
  647.      » dir
  648.  
  649.  lists all files in the current directory.
  650.  
  651.      » dir *.plt
  652.  
  653.  lists all files with an extension of .plt in the current directory.
  654.  
  655.  Also see DEL, SHELL, TYPE and WHAT.
  656. ≡divisions
  657.  Syntax:
  658.  ┌──────────────────────────────────────────────────────────────────────┐
  659.  │   divisions {x,y,y2,x2} <major> <minor>                              │
  660.  └──────────────────────────────────────────────────────────────────────┘
  661.  
  662.  Description:
  663.  
  664.  Graphica draws a tic at each axis value (major tic) and other tic marks
  665.  in between (minor tics).
  666.  
  667.  The 'divisions' command determines the number of major and minor tic
  668.  marks.  These two numbers must be integers.  Major and minor tic marks
  669.  are one less than the total number of divisions for a particular axis.
  670.  For example, if the x-axis range is 0 to 25, a good selection for major
  671.  divisions would be 5.  The major tic marks will appear at 5, 10, 15,
  672.  and 20.  5 could be chosen as the number of minor divisions.  This
  673.  results in four minor tic marks between two major ones.  The default
  674.  divisions are 5 and 2.
  675.  
  676.  Entering 'divisions' by itself simply shows the currently defined divisions.
  677.  
  678.  Example:
  679.  
  680.      » divisions x 6,3 y 4,2
  681. ≡draw
  682.  Syntax:
  683.  ┌──────────────────────────────────────────────────────────────────────┐
  684.  │   draw {x,y,y2,x2} {mask} {reflect}                                  │
  685.  └──────────────────────────────────────────────────────────────────────┘
  686.  
  687.  Description:
  688.  
  689.  Draws the specified axis with the given range, tic size and number of
  690.  divisions.  The key words 'x,x2,y,y2' may be followed by two optional
  691.  key words, 'mask' and/or 'reflect'.  If 'mask' is specified, that axis
  692.  is drawn with the major and minor tic marks but with no numbers or
  693.  label.  If the 'reflect' option is used, a mirror image of that axis is
  694.  drawn.
  695.  
  696.  Example:
  697.  
  698.      » draw x reflect y reflect.
  699.  
  700.  draws the x and y axes with opposite mirror images.
  701.  
  702.  Note:  You may draw more than one axis of the same kind by suitably changing
  703.  the subplot area.
  704. ≡dummy
  705.  Syntax:
  706.  ┌──────────────────────────────────────────────────────────────────────┐
  707.  │   dummy <dummy-var-1> <dummy-var-2>                                  │
  708.  └──────────────────────────────────────────────────────────────────────┘
  709.  
  710.  Description:
  711.  
  712.  By default, Graphica assumes that the independent variable for the
  713.  'plot' command line is 'x'.  These variables are called the dummy variable
  714.  because it is just a notation to indicate the independent variable.  The
  715.  'dummy' command changes the default dummy variable names.  For example,
  716.  you may find it more convenient to call the dummy variable 't' when
  717.  plotting time functions.
  718.  
  719.  Entering 'dummy' by itself simply shows the currently defined dummy
  720.  variables.
  721.  
  722.  Examples:
  723.  
  724.      » dummy t
  725.      » dummy u,v
  726.  
  727.  See also FUNCTIONS and WHO.
  728. ≡dump
  729.  Syntax:
  730.  ┌──────────────────────────────────────────────────────────────────────┐
  731.  │   dump {device-type} {'filename'}                                    │
  732.  └──────────────────────────────────────────────────────────────────────┘
  733.  
  734.  Description:
  735.  
  736.  Generates hardcopy output into a file.  The available device types are:
  737.  
  738.           dj, epson, epsf, hpgl, hpgl2, lj2, lj4, pic, postscript
  739.  
  740.  If the filename is omitted, Graphica will use a default filename of the
  741.  form 'graphica.xxx' where xxx is one of:
  742.  
  743.           dj5, prn, eps, hpg, lj2, lj4, pic, ps
  744.  
  745.  depending on the chosen device type.  If the device type is missing and
  746.  you have defined the environment variable GRAPDUMP, then this device will
  747.  be used.  A device type specified on the command line overrides any device
  748.  type previously specified in GRAPDUMP.  You will get an error message if
  749.  Graphica can't find a device type somewhere (either in the environment or
  750.  on the command line.)
  751.  
  752.  If you wish to dump directly to a device, there are two options.  First,
  753.  you can dump to a file and then use the OS command $ to perform a copy
  754.  to a printer or plotter.  The second option is not to use the dump command,
  755.  but to use the OUTPUT command and then do a SHOW.  Both achieve the same
  756.  purpose.  Let's illustrate both on the DOS version:
  757.  
  758.      » dump postscript
  759.      » $copy graphica.ps prn
  760.  
  761.  or
  762.  
  763.      » (do some graphics on screen)
  764.      » output prn
  765.      » term postscript
  766.      » show
  767.  
  768.  This last example would 'redraw' everything in PostScript to the printer
  769.  specified by prn.
  770.  
  771.  Examples:
  772.  
  773.      » dump hpgl 'plotter.dat'
  774.  
  775.  generates a file called plotter.dat containing HPGL commands.  You may
  776.  send this file directly to an HP plotter or import it into another
  777.  program which accepts HPGL commands, such as WordPerfect, Ventura
  778.  Publisher, etc.
  779.  
  780.      » dump hpgl
  781.  
  782.  does the same thing except it dumps the output to 'graphica.hpg'.
  783.  
  784.      » dump 'plotter.dat' hpgl
  785.  
  786.  same effect as the first example.
  787.  
  788.      » dump
  789.  
  790.  In this case, if GRAPDUMP=post, a postscript file will be generated,
  791.  but you will get an error message otherwise.
  792.  
  793.      » dump post "graph.ps" color
  794.  
  795.  generates a PostScript file called 'graph.ps' for color printers.
  796.  
  797.  On DOS systems,
  798.  
  799.      » dump epson
  800.  
  801.  generates a binary file called 'graphica.prn' which you may send to an
  802.  Epson-compatible printer (after you're out of Graphica or by 'shelling'
  803.  out to DOS) by typing:
  804.  
  805.      C:\>copy/b graphica.prn lpt1:
  806.  
  807.  The resolution of this plot is 512 x 384 pixels on a 9-pin dot-matrix
  808.  printer.
  809.  
  810.  Also see ENVIRONMENT, HPGL, LASERJET, OUTPUT, TERMINAL and POSTSCRIPT.
  811. ≡echo
  812. ≡noecho
  813.  Syntax:
  814.  ┌──────────────────────────────────────────────────────────────────────┐
  815.  │   echo                                                               │
  816.  │   noecho                                                             │
  817.  └──────────────────────────────────────────────────────────────────────┘
  818.  
  819.  Description:
  820.  
  821.  The 'echo' command causes all input typed at the terminal or picked up
  822.  from a load file to be displayed at the terminal.  This is useful with
  823.  a load file because progress can be monitored.  The default is 'noecho.'
  824.  
  825.  Examples:
  826.  
  827.      » echo
  828.  
  829.  switches echoing on
  830.  
  831.      » noecho
  832.  
  833.  switches echoing off.
  834. ≡quit
  835. ≡exit
  836.  Syntax:
  837.  ┌──────────────────────────────────────────────────────────────────────┐
  838.  │   exit                                                               │
  839.  │   quit                                                               │
  840.  └──────────────────────────────────────────────────────────────────────┘
  841.  
  842.  Description:
  843.  
  844.  The commands 'exit' and 'quit' will terminate Graphica.  These commands
  845.  will clear the output device (as the clear command does) before exiting.
  846.  If this command is used in a script file, program execution halts
  847.  immediately.  Do not use this command until you really want to exit the
  848.  program.
  849.  
  850.  Example:
  851.  
  852.      » exit
  853.  
  854.  and you will be back at the command line prompt.
  855. ≡exponent
  856. ≡noexponent
  857.  Syntax:
  858.  ┌──────────────────────────────────────────────────────────────────────┐
  859.  │   exponent                                                           │
  860.  │   noexponent                                                         │
  861.  └──────────────────────────────────────────────────────────────────────┘
  862.  
  863.  Description:
  864.  
  865.  Use this option to select either a fixed or exponential format for
  866.  logarithmic axis tic mark labels.
  867.  
  868.  Exponential format is displayed as the number 10 with an exponent.  For
  869.  example, the value 0.001 will be displayed as 10 to the power -3 on a log
  870.  axis with exponential format.
  871.  
  872.  Example:
  873.  
  874.      » exponent
  875.  
  876.  Also see FORMAT.
  877. ≡format
  878.  Syntax:
  879.  ┌──────────────────────────────────────────────────────────────────────┐
  880.  │   format {x,y,y2,x2} <integer>                                       │
  881.  │   format {x,y,y2,x2} ({"<lab>"} <pos> {, {"<lab>"} <pos>}...)        │
  882.  │   format {log} n                                                     │
  883.  │   format {long} {short}                                              │
  884.  └──────────────────────────────────────────────────────────────────────┘
  885.  
  886.  Description:
  887.  
  888.  The main 'format' command controls the format of numbers plotted next
  889.  to the major tic marks.  The parameter in angle brackets indicates the
  890.  number of digits drawn after the decimal point.  A -1 or 0 causes the
  891.  numbers to be displayed in integer format.  The default value for the
  892.  number of digits to the right of the decimal point is 1.
  893.  
  894.  The ("<label>" <pos>, ...) format allows non-numeric tic labels.  Each
  895.  set of tics can have an optional label.  The label is a string enclosed
  896.  by quotes, such as "hello".  The label may even be empty.  You have to
  897.  include the ( and ) for the non-numeric tic labels to work.  Of course,
  898.  the corresponding axis will have to be mapped properly for user-defined
  899.  labels to work.  That is, if you map the y axis from -10 to -5 and
  900.  specify "format y ("one" 1, "two" 2), you'll get labels like "-10",
  901.  etc. instead of "one", "two", etc.
  902.  
  903.  For logarithmic axes, 'format log' controls how often major and minor
  904.  tic marks should be labeled.  Enter a frequency of:
  905.  
  906.     n = 1     to label all minor tics and all major tics
  907.     n = 2     to label even minor tics and all major tics
  908.     n = 3     to label minor tics 2 and 5, and all major tics
  909.     n = 4     to label minor tic 3, and all major tics
  910.     n = 5     to label only major tics.
  911.  
  912.  The result of any Graphica assignment statement is displayed on the
  913.  screen.  The numeric display format can be controlled using the
  914.  'format' command.  The default format, called the 'short' format, shows
  915.  approximately 5 significant decimal digits.  For the 'long' format
  916.  (approx.  15 digits) the last significant digit may appear to be
  917.  incorrect but the output is actually an accurate representation of the
  918.  binary number stored in the computer.
  919.  
  920.  Entering 'format' by itself simply shows the currently defined formats.
  921.  
  922.  Examples:
  923.  
  924.      » format x 2 y 3
  925.  
  926.  In this example, the x-axis labels will be printed with 2 decimal
  927.  points and the y-axis labels with 3.
  928.  
  929.      » format x ("Jan" 1, "Feb" 2, "Mar" 3)
  930.      » format y ("bottom" 0, "" 10, "top" 20)
  931.  
  932.  Here, we're using the user-defined axis labels.  "Jan" will be printed
  933.  instead of a "1", "Feb" instead of 2, and "Mar" instead of 3.  In the
  934.  second example, the label "bottom" will appear at the "0" position, and
  935.  "top" will appear at the "20" position.
  936.  
  937.      » format log 2
  938.  
  939.  in this case, the even minor tic marks will be labeled (2,4,6,8) for
  940.  each log cycle.
  941.  
  942.      » a = 4./3.
  943.      » format short
  944.      » print a
  945.  
  946.      a = 1.33333
  947.  
  948.      » format long
  949.      » print a
  950.  
  951.      a = 1.333333333333333
  952.  
  953.  Also see EXPONENT.
  954. ≡frame
  955. ≡noframe
  956.  Syntax:
  957.  ┌──────────────────────────────────────────────────────────────────────┐
  958.  │   frame                                                              │
  959.  │   noframe                                                            │
  960.  └──────────────────────────────────────────────────────────────────────┘
  961.  
  962.  Description:
  963.  
  964.  This command draws a frame around the subplot area.  'noframe' cancels
  965.  this effect.
  966.  
  967.  Example:
  968.  
  969.      » frame
  970.  
  971.  produces a frame around the subplot area.
  972. ≡grid
  973. ≡nogrid
  974.  Syntax:
  975.  ┌──────────────────────────────────────────────────────────────────────┐
  976.  │   grid {pen {style} <integer>} {color <integer>/name}                │
  977.  │   nogrid                                                             │
  978.  └──────────────────────────────────────────────────────────────────────┘
  979.  
  980.  Description:
  981.  
  982.  You may specify whether or not to put a set of horizontal and vertical
  983.  reference lines on a plot at the same points as the axis tic marks.
  984.  The grid may make it easier to read values off and may improve plot
  985.  appearance.
  986.  
  987.  The 'grid' command sets an internal flag that signals the axis drawing
  988.  routine to generate a grid.  'nogrid' cancels this effect for subsequent
  989.  axis draws.  The 'pen' and 'color' keywords may be specified to change
  990.  the appearance of the grid.  The defaults are:
  991.  
  992.      nogrid, pen = current pen style + 2, color = red.
  993.  
  994.  Examples:
  995.  
  996.      » grid
  997.      » draw x
  998.  
  999.      » grid pen 2 color 3
  1000.  
  1001.      » grid color cyan
  1002. ≡help
  1003.  Syntax:
  1004.  ┌──────────────────────────────────────────────────────────────────────┐
  1005.  │   help <topic>                                                       │
  1006.  └──────────────────────────────────────────────────────────────────────┘
  1007.  
  1008.      Invoking the HELP utility
  1009.      -------------------------
  1010.  The HELP utility displays information about requested Graphica topics.
  1011.  From the Graphica command level (in response to the > prompt), you can
  1012.  display a list of topics for which help information is available by
  1013.  typing HELP (or ?) and pressing the RETURN key.  The system responds by
  1014.  displaying a brief description of Graphica, followed by a list of
  1015.  topics for which help is available, followed by the prompt "topic?".
  1016.  
  1017.      Specifying topic names
  1018.      ----------------------
  1019.  To display information on a particular topic, respond to the prompt by
  1020.  typing the name of the topic and pressing the RETURN key.
  1021.  
  1022.      Subtopic information
  1023.      --------------------
  1024.  The information displayed by HELP on a particular topic includes a
  1025.  description of the topic and a list of subtopics that further describe
  1026.  the topic.  To display subtopic information, type one of the subtopic
  1027.  names from the list in response to the "subtopic?" prompt.
  1028.  
  1029.      Special responses to prompts
  1030.      ----------------------------
  1031.  If you press RETURN in response to the "subtopic?" prompt instead of
  1032.  typing a subtopic name, the "topic?" prompt reappears,  enabling you to
  1033.  enter another topic name.  If you press RETURN in response to the
  1034.  "topic?" prompt, you will exit from HELP.  You can also exit HELP by
  1035.  pressing 'q' or ESC (escape key) at the "press any key to continue"
  1036.  prompt.
  1037.  
  1038.  You can type a question mark (?) in response to any of the prompts to
  1039.  redisplay the most recently requested text and a list of topic or
  1040.  subtopic names.  For example, if you type ? in response to the
  1041.  "subtopic?" prompt, a list of subtopics is displayed followed by the
  1042.  "subtopic?" prompt.
  1043.  
  1044.  Examples:
  1045.  
  1046.      » help subplot
  1047.      » help ?
  1048.      » help
  1049.  
  1050.  Also see ENVIRONMENT and STARTUP.
  1051. ≡hpgl
  1052. ≡hpgl2
  1053.  Syntax:
  1054.  ┌──────────────────────────────────────────────────────────────────────┐
  1055.  │   terminal {hpgl,hpgl2}                                              │
  1056.  └──────────────────────────────────────────────────────────────────────┘
  1057.  
  1058.  Description:
  1059.  
  1060.  The hpgl device driver can also output HPGL-2 commands.  This is
  1061.  especially useful when you'd like filled symbols on the plotter.
  1062.  I haven't implemented filled symbols in software yet.  Any HPGL-2
  1063.  commands sent to an hpgl plotter like the HP7475 (or a program
  1064.  that understands hpgl) will be ignored.
  1065.  
  1066.  Examples:
  1067.  
  1068.      » term hpgl
  1069.      » dump hpgl "graph1.hpg"
  1070.      » dump hpgl2 "graph2.hpg"
  1071.  
  1072.  Also see DUMP, OUTPUT and TERMINAL.
  1073. ≡labels
  1074. ≡titles
  1075. ≡nolabels
  1076.  Syntax:
  1077.  ┌──────────────────────────────────────────────────────────────────────┐
  1078.  │   label {top,bottom,right,left} "label text"                         │
  1079.  │   label {tag} "label_text" {at <x>,<y>} {justification} {<angle>}    │
  1080.  │   label {origin} <integer>                                           │
  1081.  │   title "title text"                                                 │
  1082.  │   nolabel {tag}                                                      │
  1083.  └──────────────────────────────────────────────────────────────────────┘
  1084.  
  1085.  Description:
  1086.  
  1087.  By default, the text is placed flush left against point (x,y).  If you
  1088.  want to adjust the way the label is positioned with respect to the
  1089.  point (x,y), add the parameter <justification>, which may be 'start',
  1090.  'stop' or 'center'.  This indicates that the point is to be at the
  1091.  left, right or center of the text.  The <justification> may be
  1092.  abbreviated.
  1093.  
  1094.  The top label lies above the plot frame line.  The bottom label is
  1095.  drawn below the frame.  'start', 'center' and 'stop' cause the
  1096.  program to halt for pen positioning if a label position was not
  1097.  specified.  The start label is drawn left-justified.  The center
  1098.  label is centered around (x,y) and the stop label is right-justified.
  1099.  the top and bottom labels are centered and each subsequent label goes
  1100.  either above or below the previously drawn label.  The label will be
  1101.  drawn at an 'angle'from the horizontal.
  1102.  
  1103.  'tag' is an integer that is used to identify the label.  If no tag
  1104.  is given, the lowest unused tag value is assigned automatically.  The
  1105.  tag can be used to delete or change a specific label.  To change any
  1106.  attribute of an existing label, use the label command with the
  1107.  appropriate tag, and specify the parts of the label to be changed.
  1108.  
  1109.  The 'xlabel' command is equivalent to the label bottom command (and so
  1110.  are the 'x2label', 'ylabel' and 'y2label' commands equivalent to the
  1111.  label top, left and right commands.)
  1112.  
  1113.  Entering just 'labels' or 'titles' simply shows the currently defined
  1114.  labels and titles.
  1115.  
  1116.  Examples:
  1117.  
  1118.  to set a label at (1,2) to "y=x" use:
  1119.      » label "y=x" at 1,2
  1120.  
  1121.  to set a label "y=x^2" with the right of the text at (2,3), and
  1122.  tag the label number 3, use:
  1123.      » label 3 "y=x≡U2" at 2,3 stop
  1124.  
  1125.  to change the preceding label to center justification, use:
  1126.      » label 3 center
  1127.  
  1128.  to delete label number 2 use:
  1129.      » nolabel 2
  1130.  
  1131.  to delete all labels use:
  1132.      » nolabel
  1133. ≡laserjet
  1134. ≡deskjet
  1135. ≡dj
  1136. ≡lj2
  1137. ≡lj4
  1138.  Syntax:
  1139.  ┌──────────────────────────────────────────────────────────────────────┐
  1140.  │   terminal {dj,lj2,lj4} {low,med,high} {us,a4}                       │
  1141.  └──────────────────────────────────────────────────────────────────────┘
  1142.  
  1143.  Description:
  1144.  
  1145.  The LaserJet II and deskjet 500 drivers can output graphs in three
  1146.  different resolutions: low (75 dpi), medium (150 dpi) and high (300
  1147.  dpi).  The LaserJet 4 can also print graphs in three resolutions:
  1148.  low (150), medium (300) and high (600 dpi).
  1149.  
  1150.  Graphica chooses the highest resolution possible according to how
  1151.  much memory is present.  Currently, the Borland-compiled version of
  1152.  Graphica can generate 150 dpi (dots per inch).  The Watcom-compiled
  1153.  version will produce the highest resolution since it works in
  1154.  protected mode.
  1155.  
  1156.  The 'us' and 'a4' switches are used by the driver to select the
  1157.  correct paper tray size installed in the printer.  The default is
  1158.  'a4' for a paper size of 210 mm by 297 mm.  The 'us' paper tray has
  1159.  dimensions of 8.5 by 11 in.
  1160.  
  1161.  Examples:
  1162.  
  1163.      » term lj2 med
  1164.      » dump lj2 "graph1.lj2" med
  1165.      » dump lj4 high us
  1166.      » dump dj "graph2.dj5"
  1167.  
  1168.  Also see DUMP, OUTPUT and TERMINAL.
  1169. ≡legends
  1170.  Syntax:
  1171.  ┌──────────────────────────────────────────────────────────────────────┐
  1172.  │   legend {framed} {offset <value>} {left} {center}                   │
  1173.  │          {right} {flat} {stacked} {at <x>,<y>}                       │
  1174.  │          "legend string"                                             │
  1175.  │          {pen {style} {width} <integer>}                             │
  1176.  │          {length {value}}                                            │
  1177.  │          {symbol {<integer>}/{name}}                                 │
  1178.  │          {{pen} color {<integer>}/{name}}                            │
  1179.  │   end                                                                │
  1180.  └──────────────────────────────────────────────────────────────────────┘
  1181.  Description:
  1182.  
  1183.  This command places a legend at a digitized location.  This location
  1184.  is (x,y) default units away from the lower left hand corner of the
  1185.  current page size.  If a line pattern is specified a small segment of
  1186.  the line is drawn before the text.  If a symbol is specified, that
  1187.  symbol is drawn before the text.  'pen', 'length', 'symbol' and 'color'
  1188.  can be specified in any order.
  1189.  
  1190.  The 'color' command applies to the entire group (line segment, symbol
  1191.  and text) but the 'pen style' and 'pen width' commands apply only to
  1192.  the line segement and the symbol, not the text.  The text style and
  1193.  width will be those in effect just before the legend was specified.  If
  1194.  you want a legend with thick letters, specify 'pen width 3' before the
  1195.  'legend' command.
  1196.  
  1197.  The 'legend' command processes information until the word 'end' is
  1198.  encountered.  'left', 'center' and 'right' are keywords to place the
  1199.  whole legend (lines, symbols and text) at that relative given position.
  1200.  
  1201.  'offset' specifies the separation between lines in a given legend in
  1202.  multiples of the current character size.  The default is 2.5 times the
  1203.  character size.
  1204.  
  1205.  'length' specifies the length of the line drawn, if one has been asked
  1206.  for with the 'pen' keyword.  It is in default paper units (inches).
  1207.  
  1208.  'framed' places a frame around the legend.  This frame is also a
  1209.  masked area.  So if you draw a legend first, then anything drawn "over"
  1210.  the legend will effectively be masked out.  You can only have one
  1211.  "masked" area (see MASK).
  1212.  
  1213.  'flat' is a keyword used to draw all the legend information in one
  1214.  line (Lotus-style).  The default mode of operation is 'stacked'.
  1215.  
  1216.  Entering 'legends' by itself simply shows the currently defined legends.
  1217.  
  1218.  Examples:
  1219.  
  1220.      » legend framed at 2.0 3.0
  1221.      » 'This is one line with a symbol' symbol square
  1222.      » color 3 'This second line is in another color'
  1223.      » pen 4 length 1.0 'one inch line'
  1224.      » end
  1225.  
  1226.      » legend center at 5.0,4.0
  1227.      » symb 1 'experimental data set 1'
  1228.      » symb 2 'experimental data set 2'
  1229.      » pen 3 'simulation results'
  1230.      » end
  1231.  
  1232.      » legend center at 5.0,4.0 flat framed
  1233.      » pen 1 'data 1'
  1234.      » pen 2 'data 2'
  1235.      » end
  1236.  
  1237.  This last example draws all the legend information on one line as
  1238.  compared to the other two examples above which draw stacked legends.
  1239.  
  1240.  Also see the example script files 'legend.plt' and 'flat.plt' for
  1241.  more examples.
  1242. ≡lines
  1243. ≡nolines
  1244.  Syntax:
  1245.  ┌──────────────────────────────────────────────────────────────────────┐
  1246.  │   line {<tag>} {from <sx>,<sy>} {to <ex>,<ey>}                       │
  1247.  │   noline {<tag>}                                                     │
  1248.  └──────────────────────────────────────────────────────────────────────┘
  1249.  
  1250.  Description:
  1251.  
  1252.  This command is used to make more complicated diagrams by specifying
  1253.  each line to be drawn.  The linked list so created may be corrected and
  1254.  modified by specifying new coordinates.  'noline tag' eliminates the
  1255.  line from the list.  The coordinates can also be mapped units.  Just
  1256.  precede the 'line' command by a 'location mapped' command.
  1257.  
  1258.  Entering 'lines' by itself simply shows the currently defined lines.
  1259.  
  1260.  Examples:
  1261.  
  1262.      » line from 3,4 to 6,8
  1263.      » line 2 to 3,5
  1264.  
  1265.  this last command modifies line number 2 to end at (3,5).
  1266.  
  1267.  See also LINETO and MOVETO.
  1268. ≡lineto
  1269.  Syntax:
  1270.  ┌──────────────────────────────────────────────────────────────────────┐
  1271.  │   lineto <ex>,<ey>                                                   │
  1272.  └──────────────────────────────────────────────────────────────────────┘
  1273.  
  1274.  Description:
  1275.  
  1276.  This command draws a line from the current cursor location to the
  1277.  specified location.  The coordinates can also be mapped units.  Just
  1278.  precede the 'lineto' command by a 'location mapped' command.
  1279.  
  1280.  Entering 'lineto' by itself simply shows the currently defined lines.
  1281.  
  1282.  Example:
  1283.  
  1284.      » moveto 3,4
  1285.      » lineto 6,8.5
  1286.  
  1287.  moves the cursor to a point (3,4) inches away from the origin and
  1288.  draws a line to point (6,8.5).
  1289.  
  1290.  See also LINE and MOVETO.
  1291. ≡load
  1292. ≡batch
  1293.  Syntax:
  1294.  ┌──────────────────────────────────────────────────────────────────────┐
  1295.  │   load <filename>                                                    │
  1296.  └──────────────────────────────────────────────────────────────────────┘
  1297.  
  1298.  Description:
  1299.  
  1300.  The 'load' command executes each command line of the specified input
  1301.  file as if they had been typed in interactively.  Files created by
  1302.  the 'audit' command can later be loaded.  Any text file containing
  1303.  valid commands can be created and then executed by the 'load'
  1304.  command.  Files being loaded may themselves contain 'load' commands.
  1305.  The 'load' command must be the last command on the line.  The name of
  1306.  the input file must be enclosed in single or double quotes if there
  1307.  are any non-character elements in the name, e.g.  file.dat has a dot
  1308.  in it so you must enclose it in quotes.
  1309.  
  1310.  You may also enter a script file directly at the command line prompt.
  1311.  In general, if you input the name of something to GRAPHICA, for example
  1312.  'whoa', the GRAPHICA interpreter goes through the following steps:
  1313.  
  1314.      1) looks to see if 'whoa' is a variable
  1315.      2) checks to see if 'whoa' is a function or variable definition
  1316.      3) checks if 'whoa' is a built-in command
  1317.      4) checks to see if 'whoa' is an expression
  1318.      5) looks in the current directory (or search path on DOS systems)
  1319.         for a script file named 'whoa.plt'
  1320.  
  1321.  Note: If you have a script file called 'spline.plt' and simply enter
  1322.  'spline' at the command line, you'll be executing the spline command
  1323.  rather than calling in the 'spline.plt' script file.
  1324.  
  1325.  Examples:
  1326.  
  1327.      » load 'work.plt'
  1328.      » load "function.plt"
  1329.      » my.plt
  1330.      » myplot
  1331.  
  1332.  The 'load' command is performed implicitly on any file names given as
  1333.  arguments to Graphica.  These are loaded in the order specified, and
  1334.  then Graphica switches to interactive mode.  For example,
  1335.  
  1336.      C:\GRAPH\graphica myown.plt
  1337.  
  1338.  will load Graphica, execute the script file myown.plt and, after a key
  1339.  is pressed, switch to the > command line.  To simply exit to the OS,
  1340.  enter q or Q.  Notice how quotes are not needed to specify data files
  1341.  at the OS command line level.  You may specify more than one file as
  1342.  arguments to Graphica,
  1343.  
  1344.      C:\GRAPH\graphica first.plt second.plt
  1345. ≡location
  1346.  Syntax:
  1347.  ┌──────────────────────────────────────────────────────────────────────┐
  1348.  │   location {default,mapped}                                          │
  1349.  └──────────────────────────────────────────────────────────────────────┘
  1350.  
  1351.  Description:
  1352.  
  1353.  This command allows giving mapped (x,y) positions in commands like
  1354.  'arrow', 'circle', 'label', 'legend', 'line', and 'rectangle'.
  1355.  
  1356.  Examples:
  1357.  
  1358.      » location mapped
  1359.  
  1360.  turns a flag on so that the (x,y) location is interpreted as being in
  1361.  mapped units.
  1362.  
  1363.      » location default
  1364.  
  1365.  turns the flag off so that the (x,y) location is interpreted as being
  1366.  in user default units (inches, for example, which is the default.)
  1367.  
  1368.  'location' by itself gives the status of this flag.
  1369. ≡map
  1370. ≡nomap
  1371.  Syntax:
  1372.  ┌──────────────────────────────────────────────────────────────────────┐
  1373.  │   map {x,y,y2,x2,t} <min> <max>                                      │
  1374.  │   nomap                                                              │
  1375.  └──────────────────────────────────────────────────────────────────────┘
  1376.  
  1377.  Description:
  1378.  
  1379.  The command 'map' defines the ranges of the data for the generation
  1380.  of axes.  These values determine the numbers that appear along the
  1381.  axes.  The x range specifies a range for the bottom x-axis, the x2
  1382.  range for the top x-axis, the y range is for the left y-axis and the
  1383.  y2 range for the right y-axis.  If this command is not specified the
  1384.  subplot area is mapped automatically from the minimum and maximum
  1385.  (x,y) data values entered with the data command.  (This latter
  1386.  procedure will only map the (x,y) axes, not the (x2,y2) axes.)  The
  1387.  mapping of 't' is used in polar plots only.
  1388.  
  1389.  Mapping can be turned off with the command 'nomap'.
  1390.  
  1391.  Entering 'map' by itself simply shows the currently mapped axes.
  1392.  
  1393.  Examples:
  1394.  
  1395.      » map x 0,10 y 0.0,100.0
  1396.      » map y2 25,-10 x 100,200
  1397.      » map t 0 3*pi
  1398.  
  1399.  See also PARAMETRIC, POLAR, and PLOT.
  1400. ≡mask
  1401.  Syntax:
  1402.  ┌──────────────────────────────────────────────────────────────────────┐
  1403.  │   mask {area} {on} {off} {<x1>,<y1>,<x2>,<y2>}                       │
  1404.  │   nomask                                                             │
  1405.  └──────────────────────────────────────────────────────────────────────┘
  1406.  
  1407.  Description:
  1408.  
  1409.  The 'mask' command defines a masking area.  Nothing is drawn over the
  1410.  masked area if it is currently active.  The 'legend' command for
  1411.  example, creates a mask over the specified legend block and no points
  1412.  or lines are drawn over it.  Use 'nomask' to turn masking off or 'mask
  1413.  on'/'mask off' to toggle the mask status.
  1414.  
  1415.  Entering 'mask' by itself simply shows the currently defined mask.
  1416.  
  1417.  Examples:
  1418.  
  1419.      » mask 2,3 5,8
  1420.      » nomask
  1421.      » mask on
  1422.      » mask off
  1423. ≡memory
  1424.  Syntax:
  1425.  ┌──────────────────────────────────────────────────────────────────────┐
  1426.  │   memory                                                             │
  1427.  └──────────────────────────────────────────────────────────────────────┘
  1428.  
  1429.  Description:
  1430.  
  1431.  The 'memory' command gives the number of bytes left in system RAM in
  1432.  the DOS version of Graphica compiled with Borland C++.  Other versions
  1433.  of Graphica compiled in 32-bit environments (Coherent, WATCOM C, etc.)
  1434.  do not implement this command for obvious reasons (it's not needed).
  1435.  
  1436.  Example:
  1437.  
  1438.      » mem
  1439.  
  1440.  would give you the following message:
  1441.  
  1442.      System RAM available:   378,588 bytes.
  1443. ≡moveto
  1444.  Syntax:
  1445.  ┌──────────────────────────────────────────────────────────────────────┐
  1446.  │   moveto <sx>,<sy>                                                   │
  1447.  └──────────────────────────────────────────────────────────────────────┘
  1448.  
  1449.  Description:
  1450.  
  1451.  This command moves the graphics cursor to the specified location.
  1452.  The coordinates can also be mapped units.  Just precede the 'moveto'
  1453.  command by a 'location mapped' command.
  1454.  
  1455.  Entering 'moveto' by itself simply shows the currently defined lines.
  1456.  
  1457.  Example:
  1458.  
  1459.      » moveto 3.3,4
  1460.      » lineto 6.2,8
  1461.  
  1462.  moves the cursor to a point (3.3,4) inches away from the origin and
  1463.  draws a line to point (6.2,8).
  1464.  
  1465.  See also LINE and LINETO.
  1466. ≡origin
  1467. ≡noorigin
  1468.  Syntax:
  1469.  ┌──────────────────────────────────────────────────────────────────────┐
  1470.  │   origin {x,y} {axis} <other coordinate value>                       │
  1471.  │   noorigin                                                           │
  1472.  └──────────────────────────────────────────────────────────────────────┘
  1473.  
  1474.  Description:
  1475.  
  1476.  The normal plot style is to have the data plotted in a box.  It is
  1477.  possible to cause either the x or y-axis, or both, to be drawn in such
  1478.  a way that they cross at an arbitrary value.  Unless told otherwise,
  1479.  Graphica will always draw the axes with their origin values at the
  1480.  physical origin (left bottom side of the graph).
  1481.  
  1482.  The origin command specifies the axis origin in user defined coordinates.
  1483.  
  1484.  Entering 'origin' by itself simply shows the currently defined axis origins.
  1485.  
  1486.  Examples:
  1487.  
  1488.      » origin x 0 y 0
  1489.      » origin x axis 0
  1490.      » norigin
  1491. ≡output
  1492.  Syntax:
  1493.  ┌──────────────────────────────────────────────────────────────────────┐
  1494.  │   output {<filename>} {stdout} {com} {prn}                           │
  1495.  └──────────────────────────────────────────────────────────────────────┘
  1496.  
  1497.  Description:
  1498.  
  1499.  By default, plots are displayed to the standard output (stdout).  The
  1500.  'output' command redirects the display to the specified file or device.
  1501.  The filename must be enclosed in quotes.  If the filename is omitted,
  1502.  output will be sent to the standard output.
  1503.  
  1504.  If you're sending output to the communications port (DOS version), make
  1505.  sure you have configured your serial port with the 'mode' command.  For
  1506.  example,
  1507.  
  1508.      mode com1:96,n,8,1,p
  1509.  
  1510.  configures a serial port for use at 9600-baud, with no parity checking,
  1511.  8 bits per character, one stop bit, and with retries.  Graphica can
  1512.  only use the 'com1:' port for output when using 'output com'.
  1513.  
  1514.  Example:
  1515.  
  1516.      » output 'output.dat'
  1517.  
  1518.  sends output to the file 'output.dat'
  1519.  
  1520.      » output com
  1521.  
  1522.  sends output to comm port 1 (com1:)
  1523.  
  1524.      » output prn
  1525.  
  1526.  sends output to the printer port (prn).
  1527.  
  1528.  Also see DUMP, OUTPUT and TERMINAL.
  1529. ≡paper
  1530. ≡border
  1531. ≡noborder
  1532.  Syntax:
  1533.  ┌──────────────────────────────────────────────────────────────────────┐
  1534.  │   paper {size} <dx> {by} <dy> {default}                              │
  1535.  │   border                                                             │
  1536.  │   noborder                                                           │
  1537.  └──────────────────────────────────────────────────────────────────────┘
  1538.  
  1539.  Description:
  1540.  
  1541.  The most basic elements of a plot are the paper (or page) and the
  1542.  subplot area.  The paper size usually coincides with the graphics device
  1543.  hardclip limits, that is, no plotting can be done outside this region.
  1544.  
  1545.  The paper command defines the size of the paper.  Graphica sets the
  1546.  page limits to the standard 11.0 by 8.5 inch paper size.  If a raster
  1547.  graphics terminal is being used the page border is also drawn so that the
  1548.  relative size of the plot can be ascertained.  This page border may be
  1549.  turned off by using the command 'noborder' and on also by using 'border'.
  1550.  
  1551.  When paper default is specified, the paper size will be reset to its
  1552.  default value.  The 'paper size ' command is also used to indicate that
  1553.  a new plot is going to be generated.
  1554.  
  1555.  Entering 'paper' by itself simply shows the current paper dimensions.
  1556.  
  1557.  Examples:
  1558.  
  1559.      » paper default
  1560.      » paper 8.5 by 11
  1561.      » pap size 11 8.5
  1562.  
  1563.  Any of these three resets the paper size to the standard size of 11 by 8.5
  1564.  inches.
  1565.  
  1566.      » border
  1567.      » noborder
  1568.  
  1569.  These two commands turn the paper size outline drawing on and off,
  1570.  respectively.
  1571. ≡parametric
  1572.  Syntax:
  1573.  ┌──────────────────────────────────────────────────────────────────────┐
  1574.  │   parametric {plot} t tmin,tmax fx(t),fy(t)                          │
  1575.  │              {connect {points}} {add {symbols}}                      │
  1576.  │   where                                                              │
  1577.  │     t     = any dummy variable                                       │
  1578.  │     tmin  = minimum value of the dummy variable                      │
  1579.  │     tmax  = maximum value of the dummy variable                      │
  1580.  │     fx(t) = x coordinate of each point in the curve                  │
  1581.  │     fy(t) = y coordinate of each point in the curve                  │
  1582.  └──────────────────────────────────────────────────────────────────────┘
  1583.  
  1584.  Description:
  1585.  
  1586.  The plot command allows plotting curves in Graphica in which you give
  1587.  the y coordinate of each point as a function of the x coordinate.  You
  1588.  can also use Graphica to make parametric plots.  In a parametric plot,
  1589.  you give both the x and y coordinates of each point as a function of a
  1590.  third parameter, say t.  It takes two parametric function
  1591.  specifications in terms of the parametric dummy argument to describe a
  1592.  single graph.  The order the parametric functions is xfunction,
  1593.  yfunction.  Each function operates over the common parametric domain.
  1594.  
  1595.  Examples:
  1596.  
  1597.      » parametric plot t 0,2*pi sin(t) sin(2*t)
  1598.      » parametric t 0,2*pi sin(t) cos(t)
  1599.      » parametric plot x 1,4 log(x) log(x**2+x**6)
  1600.  
  1601.      » r(t) = (3*cos(t)**2-1)/2
  1602.      » parametric plot t 0 2*pi r(t)*cos(t) r(t)*sin(t)
  1603.  
  1604.  See also FUNCTIONS, PLOT and POLAR.
  1605. ≡pause
  1606.  Syntax:
  1607.  ┌──────────────────────────────────────────────────────────────────────┐
  1608.  │   pause {<expression>} {"string"}                                    │
  1609.  └──────────────────────────────────────────────────────────────────────┘
  1610.  
  1611.  Description:
  1612.  
  1613.  Halts execution until a user responds at the keyboard.  'pause' is
  1614.  useful in conjunction with 'load' files.  It displays any text
  1615.  associated with the command and then waits the specified amount of
  1616.  time.  This allows one to build a load file and control the amount of
  1617.  time a finished graph is displayed.  The first argument can be a
  1618.  negative or a positive integer.  Choosing -1 will have Graphica wait
  1619.  until any key is hit.  A positive integer will have Graphica wait for
  1620.  the specified number of seconds.
  1621.  
  1622.  The expression and string are optional.  If a string is present it
  1623.  must be enclosed in quotes.  If no expression is given, 'pause' waits a
  1624.  default time of 3 seconds.
  1625.  
  1626.  Examples:
  1627.  
  1628.      » pause     # Wait a default three seconds
  1629.      » pause 3   # Wait three seconds
  1630.      » pause 10  "Isn't this great?  It's a cubic spline."
  1631.      » pause -1  # Wait until a carriage return is hit
  1632.      » pause -1  "Hit return to continue"
  1633. ≡pen
  1634. ≡color
  1635.  Syntax:
  1636.  ┌──────────────────────────────────────────────────────────────────────┐
  1637.  │   pen {style} {speed} {width} <value>                                │
  1638.  │   pen {color} <integer>/{name}                                       │
  1639.  └──────────────────────────────────────────────────────────────────────┘
  1640.  
  1641.  Description:
  1642.  
  1643.  With the 'pen' command, several parameters may be specified, as follows:
  1644.  
  1645.  To distinguish between the lines of a multiline plot, 'style' defines
  1646.  the type of the line pattern to use when connecting data points or
  1647.  drawing lines.  The default is 1 (a solid line).  All drawing commands
  1648.  are affected by the 'pen style' command.  In other words, the line type
  1649.  remains in effect until changed.  Issue a new 'pen style' command
  1650.  whenever you wish to respecify the line pattern.  There are 8 (eight)
  1651.  pen styles available.
  1652.  
  1653.  'width' defines the pen width in pixels or points.  This feature is
  1654.  only available in devices with variable pen thickness capability.  There
  1655.  are 8 (eight) pen widths available, with 1 being a line 1 pixel thick.
  1656.  This is the default.
  1657.  
  1658.  'speed' defines the pen speed in a pen plotter in cm/sec.  The speed
  1659.  defaults to the output device's default.  (On an HP7475 plotter, this is
  1660.  30 cm/sec.)
  1661.  
  1662.  'color' defines the pen color by color code or by color name.  Colors are
  1663.  assigned to numbers that in turn correspond to the pen numbers on a
  1664.  hardware device (display screen, plotter, printer, etc.).  There are
  1665.  currently 16 colors defined:
  1666.  
  1667.           0 - black                    8 - lgray
  1668.           1 - blue                     9 - lblue
  1669.           2 - green                   10 - lgreen
  1670.           3 - cyan                    11 - lcyan
  1671.           4 - red                     12 - lred
  1672.           5 - magenta                 13 - lmagenta
  1673.           6 - brown                   14 - yellow
  1674.           7 - gray                    15 - white
  1675.  
  1676.  Entering 'color' by itself simply shows the current drawing specifications.
  1677.  The default color upon Graphica startup is green (2).
  1678.  
  1679.  Examples:
  1680.  
  1681.      » pen style 1, color 3
  1682.      » pen width 3
  1683.      » pen speed 15 (cm/s)
  1684.  
  1685.  Also see DUMP, POSTSCRIPT and TERMINAL.
  1686. ≡plot
  1687. ≡noplot
  1688. ≡nodata
  1689. ≡errorbars
  1690. ≡connect
  1691. ≡add
  1692. ≡needle
  1693. ≡step
  1694. ≡autox
  1695.  Syntax:
  1696.  ┌──────────────────────────────────────────────────────────────────────┐
  1697.  │   plot 'data-file' {autox}                                           │
  1698.  │        {connect {points}} {add {symbols}}                            │
  1699.  │        {needle} {step} {errorbars {itype}}                           │
  1700.  │   plot {data} {x,y,x2,y2}                                            │
  1701.  │        {connect {points}} {add {symbols}}                            │
  1702.  │        {needle} {step} {errorbars {itype}}                           │
  1703.  │   plot 'definition' <function>                                       │
  1704.  │        {connect {points}} {add {symbols}}                            │
  1705.  │   plot {p pmin pmax} <function>                                      │
  1706.  │        {connect {points}} {add {symbols}}                            │
  1707.  │   (no)plots                                                          │
  1708.  └──────────────────────────────────────────────────────────────────────┘
  1709.  
  1710.  Definition:
  1711.  
  1712.  This command allows you to plot data, functions and data files.  It is
  1713.  the primary Graphica command.
  1714.  
  1715.  'data-file' the name of a data file enclosed in quotes.  The filename
  1716.  may be followed by the 'autox' keyword as in the data command.  In that
  1717.  case, the x values are assigned automatically starting from data point
  1718.  number 1.
  1719.  
  1720.  If 'data' is specified, previously read-in data is plotted. 'autox'
  1721.  may also be specified.
  1722.  
  1723.  <function> is a mathematical expression and may optionally be preceded
  1724.  by a range specification.
  1725.  
  1726.  'connect' causes the points to be connected by a straight line of
  1727.  the specified default line pattern.
  1728.  
  1729.  For plots with more than one line of data, it may be difficult to tell
  1730.  the difference between the lines.  For this reason, Graphica includes
  1731.  the capability of marking each point in a line with a symbol.  'add'
  1732.  causes the specified symbol to be displayed at each data point.
  1733.  Leaving out the word 'add' just draws a line through the data points.
  1734.  
  1735.  'needle' makes the plot come out such that the y data values are
  1736.  plotted as needles perpendicular to the x axis.
  1737.  
  1738.  'step' makes a step plot, useful, for example, for plotting production
  1739.  data versus years.
  1740.  
  1741.  The 'errorbars' keyword lets you add error bars to the plotted data
  1742.  points.  An optional integer specifies the type, 1 = no tics, 2 =
  1743.  tics at end of bar.  Error bar values are read in one of two ways:
  1744.  (1) from columns 3 and 4 of a data file (these two extra values are
  1745.  read in as ylow and yhigh values for the y values in column 2) or (2)
  1746.  from column 3 (this value is a delta y).  If you're using the 'autox'
  1747.  keyword you need one column less than specified above since the x
  1748.  values will be assigned automatically.
  1749.  
  1750.  Two types of error bars may be drawn:  type 1 is simply a vertical
  1751.  line spanning the error;  type 2 has to tic marks parallel to the
  1752.  x-axis, the size of the symbol, like a bracket.  The default is type 2.
  1753.  
  1754.  For axes specified as logarithmic, the log of the data values is
  1755.  plotted.  The log of absolute values is plotted.  For zero or negative
  1756.  data values, the log of 0.001 is plotted.
  1757.  
  1758.  Optionally, a definition may be given on this line as well, for example,
  1759.  'plot s=2 cos(x/s)'.
  1760.  
  1761.  'noplot' or 'nodata' clears all data points from memory and leaves
  1762.  Graphica as if no data points or functions had been entered.
  1763.  
  1764.  'plots' by itself shows the currently defined plots, including data,
  1765.  functions, smoothed curves, polynomial fits and shaded data.
  1766.  
  1767.  If the 'column' command assigned column 3 of a data file to the x-axis
  1768.  and column 1 to the y-axis, 'plot x y add points' will generate a graph
  1769.  of column 3 versus column 1.
  1770.  
  1771.  Examples:
  1772.  
  1773.      » plot 'exp.dat'                  # plot data in datafile exp.dat
  1774.  
  1775.      » plot 'bar.dat' errorbars 1      # plot error bars
  1776.  
  1777.      » plot 'one-y.dat' autox add      # plot a single column with symbols
  1778.  
  1779.      » plot data                       # equivalent to 'plot x y connect'
  1780.  
  1781.      » data 'oilrate.dat'
  1782.      » draw x y
  1783.      » plot data step                  # draw a step plot of 'oilrate.dat'
  1784.  
  1785.      » map x 0 100 y 0 200             # map the x-axis from 0 to 100
  1786.      » draw x y                        # draw the axes
  1787.      » plot f 20 80 b(f)               # plot b(f) only from 20 to 80
  1788.  
  1789.      » plot sin(x)                     # plot the sine of x
  1790.  
  1791.      » plot sin(x) cos(x)              # plot sin(x) and cos(x)
  1792.  
  1793.      » plot cos(x) add symbols connect points
  1794.  
  1795.      » plot s=0.1, t(x)                # define a variable s, plot t(x)
  1796.  
  1797.  where t(x) has been defined previously and is a function of s.
  1798.  
  1799.      » noplot                          # clear out any plot information
  1800.  
  1801.  Also see COLUMN, FUNCTIONS, MAP, PARAMETRIC, POLAR, SAMPLING and SYMBOLS.
  1802. ≡plotting
  1803.  Syntax:
  1804.  ┌──────────────────────────────────────────────────────────────────────┐
  1805.  │   plotting sequence <start>,<stop> {{by} <increment>}                │
  1806.  └──────────────────────────────────────────────────────────────────────┘
  1807.  
  1808.  Description:
  1809.  
  1810.  If you want the program to plot the data other than in the normal
  1811.  fashion (start with the first point and plot all points up to the
  1812.  last one), use this command to alter the program's processing loop.
  1813.  Given as integers, <start> indicates the first data point to start
  1814.  at, <stop> is the last data point to plot and <increment> controls
  1815.  which points to pick up within the start-stop range.  The default
  1816.  is to plot all points in increments of 1.
  1817.  
  1818.  'plotting seq' without arguments shows the current plotting sequence.
  1819.  
  1820.  Example:
  1821.  
  1822.      » plotting sequence 2,10,2
  1823.  
  1824.  plots points 2, 4, 6, 8 and 10.
  1825. ≡polar
  1826.  Syntax:
  1827.  ┌──────────────────────────────────────────────────────────────────────┐
  1828.  │   polar <function> {connect {points}} {add {symbols}}                │
  1829.  └──────────────────────────────────────────────────────────────────────┘
  1830.  
  1831.  Definition:
  1832.  
  1833.  This command generates polar plots and is similar to the 'plot'
  1834.  command.  You can plot data, functions and data files.  Type PLOT
  1835.  for some more details.  'polar' by itself simply gives a list of plots
  1836.  made so far.
  1837.  
  1838.  There is a dummy variable 't' which can be mapped to specify the range
  1839.  of values that will be covered by the function.  Polar plots are
  1840.  simple transformations of a function y = f(t) where
  1841.  
  1842.        xc = y * cos( t )
  1843.  and
  1844.        yc = y * sin( t )
  1845.  
  1846.  and xc and yc are the transformed values in cartesian coordinates.
  1847.  't' can be mapped as follows:
  1848.  
  1849.        » map t <tmin> <tmax>
  1850.  
  1851.  The default map is 0 to 2*pi.  Polar plots can also be done using the
  1852.  parametric function plotting feature.
  1853.  
  1854.  Examples:
  1855.  
  1856.      » polar .5, 1, 1.5
  1857.  
  1858.  plots three circles of the given radius.
  1859.  
  1860.      » polar cos(2*x)
  1861.  
  1862.  plots a cloverleaf.
  1863.  
  1864.  Also see FUNCTIONS, MAP, PARAMETRIC, PLOT, and SYMBOLS.
  1865. ≡fits
  1866.  ┌──────────────────────────────────────────────────────────────────────┐
  1867.  │   Curve Fits                                                         │
  1868.  └──────────────────────────────────────────────────────────────────────┘
  1869.  
  1870.  Graphica curve fit options currently include polynomial and spline
  1871.  fitting and smoothing.
  1872.  
  1873.  'polyfit' generates an nth degree polynomial least squares fit of the
  1874.  current data.  The coefficients of the polynomial are given.
  1875.  
  1876.  'spline' is used to interpolate the current data using splines under
  1877.  tension.  The spline goes through every data point.
  1878.  
  1879.  'smooth' is simply used to draw a "smooth curve through scattered
  1880.  data points."  The smooth curve does not necessarily go through any
  1881.  data point.
  1882.  
  1883.  Spline fitting and smoothing do not produce an equation (unlike
  1884.  polynomial fitting, which does).
  1885.  
  1886.  Also see POLYFIT, SMOOTH and SPLINE.
  1887. ≡polyfit
  1888.  Syntax:
  1889.  ┌──────────────────────────────────────────────────────────────────────┐
  1890.  │   polyfit {degree} n {range {min} {max}}                             │
  1891.  └──────────────────────────────────────────────────────────────────────┘
  1892.  
  1893.  Description:
  1894.  
  1895.  The 'polyfit' command generates an nth degree polynomial least squares
  1896.  fit of the current data.  The highest degree possible is 10.
  1897.  
  1898.  Optionally, a range of given x values may be provided and Graphica
  1899.  will plot the least squares fit from min to max only.
  1900.  
  1901.  Polynomial fits apply to the LATEST data set, that is, you can't fit a
  1902.  polynomial to the last polynomial, only to a set of previously entered
  1903.  data points or function.
  1904.  
  1905.  'polyfit' by itself shows the current polynomial fitting and correlation
  1906.  coefficients.
  1907.  
  1908.  The number of points plotted on the polynomial fit can be changed by
  1909.  the 'sampling' command.
  1910.  
  1911.  Examples:
  1912.  
  1913.      » polyfit degree 2
  1914.      » polyfit range 20 30
  1915.      » polyfit 5
  1916.      » polyfit
  1917.  
  1918.  Also see FIT, SAMPLING, SMOOTH and SPLINE.
  1919. ≡postscript
  1920.  Syntax:
  1921.  ┌──────────────────────────────────────────────────────────────────────┐
  1922.  │   terminal postscript {color} {bw} {font fontname} {level2}          │
  1923.  │   terminal epsf                                                      │
  1924.  └──────────────────────────────────────────────────────────────────────┘
  1925.  
  1926.  Description:
  1927.  
  1928.  The PostScript device driver can output color commands.  The default
  1929.  is gray-scale output.  Black & white output can be forced through the
  1930.  'bw' switch.
  1931.  
  1932.  Although Level 1 PostScript is the default, Level 2 output can also
  1933.  be generated.  There is only one Level 2 feature active at the moment
  1934.  (setfont).
  1935.  
  1936.  The same switches ('color', 'bw', 'font' and 'level2') apply to the
  1937.  Encapsulated PostScript driver (epsf) and work in the 'dump' command.
  1938.  
  1939.  Examples:
  1940.  
  1941.      » term post
  1942.      » dump post "graph.ps" color    # used in color postscript printers
  1943.      » dump post "graph.ps" bw       # forces black & white output
  1944.  
  1945.  See DUMP, OUTPUT and TERMINAL.
  1946. ≡pwd
  1947.  Syntax:
  1948.  ┌──────────────────────────────────────────────────────────────────────┐
  1949.  │   pwd                                                                │
  1950.  └──────────────────────────────────────────────────────────────────────┘
  1951.  
  1952.  Description:
  1953.  
  1954.  The 'pwd' command prints the name of the current working directory.
  1955.  
  1956.  Example:
  1957.  
  1958.      » pwd
  1959.  
  1960.  would print out C:\WORK, for example, on DOS systems or /usr/work in UNIX.
  1961. ≡recall
  1962. ≡editing
  1963.  Syntax:
  1964.  ┌──────────────────────────────────────────────────────────────────────┐
  1965.  │   recall                                                             │
  1966.  └──────────────────────────────────────────────────────────────────────┘
  1967.  
  1968.  Description:
  1969.  
  1970.  On some systems (COHERENT and DOS), Graphica is compiled with a feature
  1971.  called last-line editing and recall.  In that case, the arrow keys on
  1972.  the keypad can be used to edit mistyped commands or to recall previous
  1973.  command lines.
  1974.  
  1975.  Instead of retyping an entire line, simply hit the up-arrow or down-
  1976.  arrow keys to recall previous input lines.  Then you can move the
  1977.  cursor over using the left and right-arrow keys and edit the line.
  1978.  The arrow keys on the keypad work on copies of the previous input
  1979.  lines, which have been saved in a moderately sized input buffer.
  1980.  Here is a brief description of the arrow key functions:
  1981.  
  1982.      ^N  or  up arrow          recall previous line
  1983.      ^P  or  down arrow        recall next line
  1984.      ^B  or  left arrow        move left one character
  1985.      ^F  or  right arrow       move right one character
  1986.      ^A  or  home              move to beginning of line
  1987.      ^E  or  end               move to tend of line
  1988.      ^U  or  esc (esc)         cancel current line
  1989.      ^H  or  del               delete character at cursor
  1990.              backspace         delete character left of cursor
  1991.  
  1992.      ^K      kills from current position to the end of line
  1993.      ^D      deletes the current character, or EOF if line is empty
  1994.      ^L/^R   redraw line in case it gets trashed
  1995.      ^W      kills last word
  1996.  
  1997.  RETURN returns the entire line regardless of the cursor position.
  1998.  
  1999.  On systems without the last-line editing and recall feature, the 'recall'
  2000.  command gives a list of the last 10 user input lines for review.
  2001.  
  2002.  Example:
  2003.  
  2004.      » recall
  2005.  
  2006.  would give out a list such as:
  2007.  
  2008.      paper size 11 by 8.5
  2009.      subplot 2 3 6 7
  2010.      frame
  2011.      draw x y
  2012. ≡rectangle
  2013.  Syntax:
  2014.  ┌──────────────────────────────────────────────────────────────────────┐
  2015.  │   rectangle {from <x1>,<y1>} {to <x2>,<y2>}                          │
  2016.  └──────────────────────────────────────────────────────────────────────┘
  2017.  
  2018.  Description:
  2019.  
  2020.  This command generates a rectangle with its lower left hand corner
  2021.  at <x1>,<y1> and its upper right hand corner at <x2>,<y2>.
  2022.  
  2023.  Entering 'rectangles' by itself simply shows the currently defined
  2024.  rectangles.
  2025.  
  2026.  Example:
  2027.  
  2028.      » rectangle from 1.0,2.0 to 3.0,4.0
  2029.  
  2030.  Also see ARROW, CIRCLE, LABEL, LEGEND and LINE.
  2031. ≡revisions
  2032.  ┌──────────────────────────────────────────────────────────────────────┐
  2033.  │   Revision History                                                   │
  2034.  └──────────────────────────────────────────────────────────────────────┘
  2035.  
  2036.  18 December 93 - Added linestyles to the Lotus 1-2-3 PIC driver.
  2037.  
  2038.  17 December 93 - Added left division \ to the set of internal functions.
  2039.  
  2040.  9 December 93 - The '[' character (left square bracket) is no longer
  2041.    allowed as a comment delimiter.
  2042.  
  2043.  30 November 93 - Fixed a bug with the Lotus 1-2-3 PIC driver.
  2044.  
  2045.  29 November 93 - Prevented 'spline range xmin xmax' from exceeding
  2046.    the maximum x data point.
  2047.  
  2048.  25 November 93 - Added the following probability distribution
  2049.    functions:  Binomial, Complemented Binomial, Inverse Binomial,
  2050.    Negative Binomial, Complemented Negative Binomial, Chi-square,
  2051.    Complemented Chi-square, Inverse of Complemented Chi-square, F,
  2052.    Complemented F, Inverse of Complemented F, Gamma, Complemented
  2053.    Gamma, Poisson, Complemented Poisson, Inverse Poisson and Student's t.
  2054.    Changed 'beta' to 'ibeta', 'normal' to 'ndtr', and 'inormal' to
  2055.    'ndtri'.  Type HELP PROBABILITY for details.
  2056.  
  2057.  23 November 93 - Added F1 ('help') and F10 ('show') function key support.
  2058.  
  2059.  14 November 93 - Changed version to 2.5.
  2060.  
  2061.  3 November 93 - Added LaserJet II, DeskJet 500 and LaserJet 4 drivers.
  2062.    Type HELP LASERJET.
  2063.  
  2064.  29 October 93 - Added smoothing of data points.  Type HELP SMOOTH.
  2065.    Changed the default symbol size to 0.1 inches (instead of 0.17).
  2066.  
  2067.  25 October 93 - Added nine more Bessel functions: besi0, besi1, besin,
  2068.    besjn, besk0, besk1, beskn and besyn.  Type HELP BESSEL.
  2069.  
  2070.  21 October 93 - Added the following built-in functions: beta, gamma,
  2071.    igamma, ierf, inormal, normal, and rand.  Type HELP FUNCTIONS.
  2072.  
  2073.  19 October 93 - Added the 'what' command to the Coherent version to list
  2074.    all the *.plt files in the current directory.
  2075.  
  2076.  18 October 93 - Added last-line editing and command recall to the
  2077.    Coherent version.
  2078.  
  2079.  1 October 93 - Added checks when reading data in from a data file to
  2080.    prevent memory overflows and lockups in the DOS version using Borland's
  2081.    compiler.
  2082.  
  2083.  25 September 93 - Fixed a little bug which screwed up the prompt when
  2084.    shelling out to DOS a second time.
  2085.  
  2086.  24 September 93 - Added hardware font sizes to the Coherent version.
  2087.  
  2088.  20 September 93 - Fixed a bug that showed the last DOS screen immediately
  2089.    after pressing any key at the introductory Graphica screen.
  2090.  
  2091.  16 September 93 - Added 'lineto' and 'moveto' commands.
  2092.  
  2093.  15 September 93 - Corrected a problem with the timestamp printed out
  2094.    in hpgl mode when the character size, ratio or gap where changed.
  2095.  
  2096.  14 September 93 - Added 6 filled symbols to the bgi and HPGL2 drivers.
  2097.    HPGL can produce only a filled square.  Working on filled symbols for
  2098.    the PostScript driver.
  2099.  
  2100.  12 September 93 - Changed version to 2.44.  The line continuation symbol
  2101.    ';' can now also be used in script files as well as interactively.
  2102.  
  2103.  10 September 93 - Fixed some bugs related to the 'location' command
  2104.    when used with units other than inches.  Added 'ufactor' to the set of
  2105.    pre-defined constants.  Type HELP WHO.
  2106.  
  2107.  8 September 93 - Added an optional range specification to the 'plot'
  2108.    command.  Type HELP PLOT for details.
  2109.  
  2110.  7 September 93 - Changed version to 2.43.  "Beautified" the help file.
  2111.    If the environment variable GRAPHELP is not set, Graphica will look
  2112.    for the help file in any of the directories currently in your DOS
  2113.    path.  If the file is not found, you won't have any help on-line.
  2114.  
  2115.  6 September 93 - Program froze up when trying to delete labels, arrows,
  2116.    circles, etc.  Fixed this bug.
  2117.  
  2118.  5 September 93 - Added a 'rotate' switch to the x,y,y2 and x2-label
  2119.    commands to draw them at 180 degrees.  Type HELP PLOT for details.
  2120.  
  2121.  4 September 93 - Added color and hardware font support to the PIC
  2122.    driver.  PIC still doesn't support line widths.
  2123.  
  2124.  30 August 93 - Added color and hardware fonts to the PostScript driver.
  2125.    For details type HELP POSTSCRIPT and HELP TERMINAL.
  2126.  
  2127.  20 August 93 - Fixed some bugs relative to the thickness of characters
  2128.    drawn with the 'legend' and 'label' commands.  Thoroughly tested and
  2129.    fixed Graphica's operation in video modes other than VGA.  New data
  2130.    input routine ignores labels in data files (see DATA).
  2131.  
  2132.  17 August 93 - Whenever you shell out to DOS, a temporary prompt is
  2133.    shown telling you to type EXIT to return to GRAPHICA.  Activated the
  2134.    Hercules video driver and fixed some color-related bugs.  Slightly
  2135.    changed the behavior of the legend block command (see HELP LEGEND).
  2136.  
  2137.  10 August 93 - Added a 'clc' command to clear the text screen.
  2138.  
  2139.  15 July 93 - Changed version to 2.42.
  2140.  
  2141.  13 July 93 - Fixed a bug related to the power function (wasn't raising
  2142.    to integer powers correctly under Coherent).  Also fixed a bug in the
  2143.    Coherent cbm (coherent bitmap graphics) driver not resetting the line
  2144.    style after loading a second load file.
  2145.  
  2146.  13 July 93 - After Graphica detects an error with a script file on the
  2147.    command line, it stays on line for further processing instead of
  2148.    bailing out to the OS command line.
  2149.  
  2150.  7 July 93 - Added the 'what' command listing all .plt files in the
  2151.    current directory.
  2152.  
  2153.  1 July 93 - Started working on the 'polar' command to make polar plots.
  2154.  
  2155.  25 June 93 - Changed version to 2.41.
  2156.  
  2157.  22 June 93 - Found and fixed a serious bug with the font routines.
  2158.  
  2159.  20 June 93 - Changed code to handle errors when dynamically loaded font
  2160.    files are not found.
  2161.  
  2162.  5 June 93 - Added 10 dynamically loaded software fonts to the registered
  2163.    version.  See DEMO5 and DEMO6 for how the new fonts look.
  2164.  
  2165.  2 June 93 - Added code to dynamically load software fonts from disk, thus
  2166.    reducing the executable size considerably.  Changed version to 2.4.
  2167.  
  2168.  14 May 93 - Added linestyles to the Coherent version.  Soon linewidths.
  2169.  
  2170.  20 April 93 - Changed some code to prevent errors from occurring when
  2171.    changing terminals from bgi to (some other terminal) back to bgi.
  2172.  
  2173.  19 April 93 - Started work on the LaTeX driver.
  2174.  
  2175.  17 Apr 93 - Added the capability of sending output to the printer port
  2176.    in the DOS version.  If you have a printer connected to that port, for
  2177.    example, you can send PostScript output directly to the printer (without
  2178.    having to DUMP to a file and then send it later.)  Type HELP OUTPUT.
  2179.  
  2180.  14 Apr 93 - Finished adding on-screen color graphics to the Coherent
  2181.    version.  Still need to add linestyle and linewidth.  It also has a
  2182.    simple hardware font.
  2183.  
  2184.  10 Apr 93 - Worked on the Coherent version for quite some time trying
  2185.    to fix miscellaneous bugs and core dumps.
  2186.  
  2187.  2 Apr 93 - Got rid of the 'show' command for showing status.  Now
  2188.    simply entering a command by itself will show its status.  'show' by
  2189.    itself works just like before, i.e. it displays whatever you've
  2190.    plotted so far on the screen or output device.  Changed the meaning
  2191.    of the 'axes' command.  It no longer draws those axes that have been
  2192.    mapped.  Now it simply tells what axis types you've got.
  2193.  
  2194.  20 Mar 93 - Added asinh, acosh and atanh to the set of built-in
  2195.    functions.  Type HELP FUNCTIONS.
  2196.  
  2197.  20 Mar 93 - The 'print' command has been taken out.  If you want to
  2198.    evaluate functions or expressions, simply enter them at the Graphica
  2199.    command line.  Type HELP EXPRESSIONS.
  2200.  
  2201.  20 Mar 93 - Added 'searchpath' logic to the DOS version.  Graphica
  2202.    will try to locate any script or data file entered with the 'load' or
  2203.    'data' commands in the current DOS search path, not just in the current
  2204.    working directory.  You can also simply enter a script filename at the
  2205.    Graphica command line and Graphica will try to determine if it exists
  2206.    in the current search path, try to 'load' it and execute commands from
  2207.    it.  Type HELP LOAD.
  2208.  
  2209.  20 Mar 93 - Changed the environmental variable GRAPHICA to GRAPHINI.
  2210.    It now should contain the full path to the start-up filename,
  2211.    including the filename itself, just like in GRAPHELP.  Type HELP STARTUP
  2212.    and HELP ENVIRONMENT.
  2213.  
  2214.  20 Mar 93 - Changed version to 2.3.
  2215.  
  2216.  17 Mar 93 - Pressing any key will cancel the introductory graphics
  2217.    screen.  Also, in batch mode plotting, the introductory screen does
  2218.    not show up.  Added a symbol type of 0 or 'dot' for plotting lots of
  2219.    data with just tiny dots.  Type HELP SYMBOLS.
  2220.  
  2221.  13 Mar 93 - Renamed this help file to GRAPHICA.FIL to make things less
  2222.    confusing for the development of the windows version.  The compiled
  2223.    windows version help file will be called GRAPHICA.HLP.
  2224.  
  2225.  10 Mar 93 - Corrected some logic in the handling of units (in, cm,
  2226.    mm).  Repositioned the mouse location to the bottom right on DOS
  2227.    systems.  Also added a 'nodisplay' command to not show the location
  2228.    of the mouse cursor.  The mouse cursor shows up right above the
  2229.    location display on the lower right hand corner of the screen.
  2230.  
  2231.  3 Mar 93 - Added a 'default' command to reset various parameters to
  2232.    their default values.  Type HELP DEFAULT.
  2233.  
  2234.  2 Mar 93 - Added a .PG command to the HPGL driver when a 'clear' command
  2235.    is given.  This ejects the page on some plotters and loads a blank one.
  2236.  
  2237.  2 Mar 93 - Fixed the way log labels were plotted when noexponent was
  2238.    the default.  Now, regardless of the length of the label, you'll
  2239.    always get the full label, i.e.  0.00000001 instead of 10 ** -8 as
  2240.    before.  The old behavior would plot a log axis like (10**-4, 0.001,
  2241.    0.01, 0.1, 1, 10, 100, 1000, 10**4, 10**5) which was not consistent.
  2242.    With 'exponent' you still get the powers of 10 all the time.
  2243.  
  2244.  1 Mar 93 - You can now "remap" an axis even after you've plotted
  2245.    data and that axis.  The new mapping will be reflected in the last
  2246.    plot data set and the last axis of that type plotted.  Try plotting
  2247.    some data and changing the map of an axis to see the effect.
  2248.  
  2249.  1 Mar 93 - Reduced the mask area around the legend to the actual
  2250.    framing area.  Fixed the 'audit' command to work properly.  Fixed a
  2251.    bug that would show up when inputing data interactively and
  2252.    specifying 'end' before actually entering points.  Solid lines are
  2253.    now plotted on decade boundaries in log axes.
  2254.  
  2255.  28 Feb 93 - Fixed some problems with polynomial and spline fitting.
  2256.    Modified the command 'polyfit' to list all the polynomial fitting and
  2257.    correlation coefficients.  Polynomial and spline fits apply to the
  2258.    "latest" data set, that is, you can't fit a spline to the last spline,
  2259.    only to a set of data points or function.  Fixed other problems with
  2260.    multiple polyfit plotting.
  2261.  
  2262.  26 Feb 93 - The letters C and c will no longer be comment flags.
  2263.    You can continue to use # to make comments in script files or
  2264.    when entering data on the > prompt.  (I was having trouble defining
  2265.    functions like c(x)= etc.)
  2266.  
  2267.  24 Feb 93 - Fixed a problem with the Coherent version of the 'cd'
  2268.    command.  Now, you can also enter filenames with the 'load' command
  2269.    or directories in 'load' without quotes around them.
  2270.  
  2271.  23 Feb 93 - After batch processing script files on the OS command line,
  2272.    Graphica now remains online for further interactive processing.
  2273.  
  2274.  19 Feb 93 - Graphica returns to the command line after 'dumping' plots
  2275.    to a file rather that redrawing the entire plot.  You can still redraw
  2276.    what you've got by specifying 'show' after dumping.
  2277.  
  2278.  14 Feb 93 - Fixed a small quirk when entering two commands on the
  2279.    same line separated by ';'.  For example, when entering 'draw x ;
  2280.    draw y' you would have to press a key once before you could see the
  2281.    second axis.  Now Graphica recognizes the second command on the same
  2282.    line and waits to process graphics until all commands have been parsed.
  2283.  
  2284.  10 Feb 93 - Fixed a problem with the legend mask when plotting on a
  2285.    non-raster device.  Optimized axis drawing with a grid.  Now there is
  2286.    less pen changing when plotting on a plotter.  Fixed a bug happening
  2287.    when 'dump' was entered all by itself in a command line.
  2288.  
  2289.  9 Feb 93 - Added 2-variable function specification and fixed a bug
  2290.    reading in dummy variables.
  2291.  
  2292.  8 Feb 93 - Added 'reverse' logarithms, in other words, you can plot log
  2293.    scales going from 1000 to 1, for example (the axis minimum is 1000 on
  2294.    the left and the maximum is 1 on the right).
  2295.  
  2296.  5 Feb 93 - Fixed a problem with 'character'.  Changed the help file
  2297.    system a little bit so you get a list of subtopics when you've entered
  2298.    an incorrect keyword.
  2299.  
  2300.  3 Feb 93 - Changed to version 2.2 and uploaded it to CompuServe.
  2301.  
  2302.  2 Feb 93 - Finally got around fixing the legend routines.  The legend
  2303.    lines weren't quite aligned when center- or right-justified.  Added a
  2304.    new keyword 'flat' to draw non-stacked legends Lotus 1-2-3 style.  Check
  2305.    out the 'legend.plt' 'and flat.plt' scripts file to see how it works.
  2306.  
  2307.  31 Jan 93 - Added the error and complementary error functions to the
  2308.    set of built-in functions.  Type HELP FUNCTIONS.
  2309.  
  2310.  30 Jan 93 - Wrote a "getch" function for COHERENT so you can press any
  2311.    key to continue rather than having to press return.  Check out the new
  2312.    help system.
  2313.  
  2314.  29 Jan 93 - New feature: you can now have several curves in a data file
  2315.    by separating the data by blank lines.  See help on FILE and the
  2316.    'world.plt' example script file.
  2317.  
  2318.  28 Jan 93 - Changed the default color to green.
  2319.  
  2320.  22 Jan 93 - Fixed BIG BUGS when error bar and probability plotting.
  2321.  
  2322.  21 Jan 93 - Fixed a tiny little bug with the memory allocation code
  2323.    in the recall function (DOS version).
  2324.  
  2325.  20 Jan 93 - Changed version to 2.1.
  2326.  
  2327.  20 Jan 93 - Changed code in the COHERENT and DOS versions to read in only
  2328.    help keywords when requesting help.  The help text is read in from the
  2329.    help file as needed.  The new scheme reduces the memory requirements on
  2330.    PCs.  Now you can load in bigger script files!
  2331.  
  2332.  14 Jan 93 - Ported Graphica to a Sun 4 workstation (no graphics yet).
  2333.    Cleaned up the code a little bit, especially dealing with include files.
  2334.    Should be easier to port to many platforms now.
  2335.  
  2336.  3 Jan 93 - Changed the mouse routines in the DOS version to use a
  2337.    software cursor (faster than using getimage/putimage).
  2338.  
  2339.  2 Jan 93 - Added code to save text screen before going into graphics in
  2340.    the DOS version.  This way when you get back to text mode, previous text
  2341.    will still be visible.
  2342.  
  2343.  23 Dec 92 - Added the capability of sending output to com1 in the DOS
  2344.    version.  If you have a plotter connected to that communications port,
  2345.    for example, you can send hpgl output directly to the plotter (without
  2346.    having to DUMP to a file and then use COPY FILE COM1: at the DOS prompt.)
  2347.  
  2348.  23 Dec 92 - Fixed a little buglet when changing terminal types and output
  2349.    was sent to (stdout).  'output' now shows the correct output.
  2350.  
  2351.  14 Dec 92 - Added further functionality to the 'format' command by
  2352.    allowing user-defined tic labels.  Type HELP FORMAT.
  2353.  
  2354.  14 Dec 92 - Added the 'square-root' type to the family of axis types.
  2355.  
  2356.  8 Dec 92 - Fixed a bug in the help command.  You can abort help by
  2357.    pressing q/Q/ESC.  With the bug, the next help command was invalid.
  2358.  
  2359.  24 Nov 92 - Added two fonts to the Coherent version, simplex script and
  2360.    complex script.
  2361.  
  2362.  17 Nov 92 - Fixed a bug with the probability scale.  It wasn't drawing
  2363.    the numeric labels in the right place when plotting an x2 or y2 axis.
  2364.  
  2365.  12 Nov 92 - Fixed bugs in the 'mask' command.  Circles and rectangles
  2366.    are now being masked correctly.
  2367.  
  2368.  9 Nov 92 - Released version 2.0 to Simtel.
  2369. ≡range
  2370.  ┌──────────────────────────────────────────────────────────────────────┐
  2371.  │   range                                                              │
  2372.  └──────────────────────────────────────────────────────────────────────┘
  2373.  
  2374.  This command shows the input data range (max and min) of each column,
  2375.  if any.
  2376. ≡sampling
  2377.  Syntax:
  2378.  ┌──────────────────────────────────────────────────────────────────────┐
  2379.  │   sampling <expression>                                              │
  2380.  └──────────────────────────────────────────────────────────────────────┘
  2381.  
  2382.  Description:
  2383.  
  2384.  Graphica always tries to plot functions as smooth curves.  It is
  2385.  impossible to sample the infinite number of points that would be
  2386.  needed to reproduce a given function exactly.  Since the function is
  2387.  only sampled at a limited number of points, Graphica can sometimes
  2388.  miss features of the function.  By increasing the sampling rate, you
  2389.  can make Graphica sample your function at a larger number of points.
  2390.  Of course, the larger the sampling rate, the longer it will take
  2391.  Graphica to plot any function, even a smooth one.
  2392.  
  2393.  The sampling rate is changed by the 'sampling' command.  By default,
  2394.  sampling is set to 150 points.  A higher sampling rate will produce
  2395.  more accurate plots, but will also take longer.
  2396.  
  2397.  For example, the function sin(1/x) wiggles infinitely often when x
  2398.  is near zero.  As a result, there are slight glitches in the plot.
  2399.  Increasing the sampling rate will reduce the number of glitches.
  2400.  
  2401.  Entering 'sampling' by itself simply shows the current sampling rate.
  2402.  
  2403.  'sampling' also affects the number of points plotted when polynomial
  2404.  fitting, spline fitting or smoothing.
  2405.  
  2406.  Example:
  2407.  
  2408.      » sampling 200
  2409.  
  2410.  Also see FIT, FUNCTIONS, PARAMETRIC, PLOT, POLYFIT, SPLINE and SMOOTH.
  2411. ≡save
  2412.  Syntax:
  2413.  ┌──────────────────────────────────────────────────────────────────────┐
  2414.  │   save                                                               │
  2415.  └──────────────────────────────────────────────────────────────────────┘
  2416.  
  2417.  Description:
  2418.  
  2419.  The 'save' command creates a file called 'session.log' containing a few
  2420.  basic settings of your graphica session.  It will not entirely reproduce
  2421.  complicated graphs.
  2422.  
  2423.  Example:
  2424.  
  2425.      » save
  2426. ≡shade
  2427.  Syntax:
  2428.  ┌──────────────────────────────────────────────────────────────────────┐
  2429.  │   shade {spacing} {angle} <value> {mode} <integer>                   │
  2430.  │         {(no)closure}                                                │
  2431.  └──────────────────────────────────────────────────────────────────────┘
  2432.  
  2433.  Description:
  2434.  
  2435.  The 'shade' command allows the user to shade a specified polygon.
  2436.  'spacing' is the vertical distance between shade lines in default
  2437.  user units.
  2438.  
  2439.  Optionally, a shade 'angle' may be specified.  This angle is measured
  2440.  from the horizontal.  The sign convention for the direction of rotation
  2441.  is as follows:
  2442.  
  2443.      + clockwise
  2444.      - counterclockwise
  2445.  
  2446.  'mode' indicates the following:
  2447.  
  2448.      mode = 1 - shade and outline (this is the default)
  2449.      mode = 2 - shade polygon only
  2450.      mode = 3 - outline polygon only
  2451.  
  2452.  The 'closure/noclosure' keyword is used to specify whether Graphica
  2453.  should draw a line making the polygon a closed one or not.  This
  2454.  keyword is only active when mode is 1 or 3.  The default is 'noclosure'.
  2455.  
  2456.  Example:
  2457.  
  2458.      » shade angle 35.0 mode 1
  2459. ≡shell
  2460.  Syntax:
  2461.  ┌──────────────────────────────────────────────────────────────────────┐
  2462.  │   shell                                                              │
  2463.  └──────────────────────────────────────────────────────────────────────┘
  2464.  
  2465.  Description:
  2466.  
  2467.  The shell command spawns an interactive shell.  Use this option to
  2468.  access the operating system prompt and execute commands or run other
  2469.  programs.  When shelling out to the operating system, you can execute
  2470.  any command or application.  To return to Graphica: type EXIT at the
  2471.  command line (under DOS);  type control-d (under Coherent);  do
  2472.  stop/id=xxx, where xxx is your subprocess ID (under VAX/VMS).
  2473.  
  2474.  A single shell command may be spawned by preceding it with the $
  2475.  character on the very first position of a command line.  Control will
  2476.  return immediately to Graphica after this command is executed.
  2477.  
  2478.  Examples:
  2479.  
  2480.      » shell
  2481.  
  2482.  spawns a shell to the operating system.  Type EXIT to return to Graphica.
  2483.  
  2484.      » $dir
  2485.  
  2486.  prints a directory listing and then returns to Graphica without waiting.
  2487.  
  2488.  Also see DELETE, DIR, TYPE and WHAT.
  2489. ≡show
  2490.  Syntax:
  2491.  ┌──────────────────────────────────────────────────────────────────────┐
  2492.  │   show                                                               │
  2493.  └──────────────────────────────────────────────────────────────────────┘
  2494.  
  2495.  Description:
  2496.  
  2497.     The SHOW command redraws existing plots on your screen.
  2498. ≡smooth
  2499.  Syntax:
  2500.  ┌──────────────────────────────────────────────────────────────────────┐
  2501.  │   smooth {n} {range {min} {max}} {(no)spline}                        │
  2502.  └──────────────────────────────────────────────────────────────────────┘
  2503.  
  2504.  Description:
  2505.  
  2506.  Data smoothing is used simply as a graphical technique, to guide the
  2507.  eyes through a forest of scattered data points.  Graphica removes any
  2508.  linear trend, uses a Fast Fourier Transform to low-pass filter the
  2509.  data and reinserts the trend at the end.
  2510.  
  2511.  If the total number of points is smaller than the current sampling
  2512.  rate, Graphica generates a spline curve through the resulting smooth
  2513.  points.  You can force a spline fit anyway, by specifying 'spline'
  2514.  on the command line.  The number of points plotted on the smooth
  2515.  spline curve can be changed by a previous 'sampling' command.  Or,
  2516.  you can prevent Graphica from drawing a spline fit regardless of the
  2517.  total number of points by specifiying 'nospline'.
  2518.  
  2519.  The user-specified constant 'n' gives the number of points over which
  2520.  the data should be smoothed.  A value of zero gives no smoothing at
  2521.  all.  If 'n' is not specified, the default is 5.
  2522.  
  2523.  Optionally, a range of x values may be provided and Graphica will
  2524.  smooth data points from min to max only.
  2525.  
  2526.  Smoothing applies to the LATEST data set, that is, you can't smooth
  2527.  a smoothed curve, only a set of previously entered data points or
  2528.  function.
  2529.  
  2530.  Examples:
  2531.  
  2532.      » smooth 10
  2533.      » smooth range 20 30
  2534.      » smooth 8 spline
  2535.      » smooth nospline
  2536.  
  2537.  Also see FIT, POLYFIT, SAMPLING and SPLINE.
  2538. ≡spline
  2539.  Syntax:
  2540.  ┌──────────────────────────────────────────────────────────────────────┐
  2541.  │   spline {plot} {tension {value}} {range {min} {max}}                │
  2542.  └──────────────────────────────────────────────────────────────────────┘
  2543.  
  2544.  Description:
  2545.  
  2546.  The 'spline' command is used to interpolate the current data using
  2547.  splines under tension.  The produced data curve is a spline under
  2548.  tension, which is somewhat "tighter" than a cubic spline, and less
  2549.  likely to have spurious inflection points.  The cubic spline
  2550.  interpolator will produce a smooth curve through (x,y) data pairs,
  2551.  even if their variation is quite complicated.
  2552.  
  2553.  The tension factor indicates the curviness desired for the line
  2554.  produced by the cubic spline.  A tension in the interpolating curve
  2555.  of 50 gives almost a polygonal line;  a tension of 0.01 gives almost
  2556.  a cubic spline.  The default of 2.0 will produce a smooth curve in
  2557.  most cases.  For very erratic data it may be necessary to tighten
  2558.  up the tension factor to 5 or 6 to adequately follow the data points.
  2559.  
  2560.  Optionally, a range of given x values may be provided and Graphica
  2561.  will interpolate from min to max only.
  2562.  
  2563.  Spline fits apply to the LATEST data set, that is, you can't fit a
  2564.  spline to the last spline, only to a set of previously entered data
  2565.  points or function.
  2566.  
  2567.  The number of points plotted on the spline fit can be changed by the
  2568.  'sampling' command.
  2569.  
  2570.  Examples:
  2571.  
  2572.      » spline plot tension 10
  2573.      » spline range 20 30
  2574.  
  2575.  Also see FIT, POLYFIT, SAMPLING and SMOOTH.
  2576. ≡subplot
  2577.  Syntax:
  2578.  ┌──────────────────────────────────────────────────────────────────────┐
  2579.  │   subplot {size/area} <xleft> <ybottom> <xright> <ytop>              │
  2580.  │           {default}                                                  │
  2581.  └──────────────────────────────────────────────────────────────────────┘
  2582.  
  2583.  Description:
  2584.  
  2585.  The subplot area is also referred to as soft clip.  The actual graph
  2586.  resides in the subplot area but other graphic elements can be drawn
  2587.  outside the subplot area.
  2588.  
  2589.  The 'subplot' command defines the region on the paper where the plot
  2590.  is drawn.  By default, the subplot area is set to a rectangle of
  2591.  about 60% of the paper size.  The (xleft,ybottom) pair sets the
  2592.  coordinates of the left bottom corner of the subplot area, while the
  2593.  (xright, ytop) pair sets the coordinates of the top right hand corner
  2594.  of the plotting region.  If subplot default is specified, the subplot
  2595.  area size will be reset to its default size.
  2596.  
  2597.  Data points and curves are drawn or plotted on a grid space formed
  2598.  by Cartesian coordinate axes.  The horizontal line is the x-axis and
  2599.  the vertical line is the y-axis.  These axes are within the subplot
  2600.  area or plotting region.
  2601.  
  2602.  Entering 'subplot' by itself simply shows the current subplot area.
  2603.  
  2604.  Example:
  2605.  
  2606.      » subplot area 2.0,2.0 9.0,7.0
  2607. ≡subscript
  2608. ≡superscript
  2609.  Syntax:
  2610.  ┌──────────────────────────────────────────────────────────────────────┐
  2611.  │   subscript {size} <value>                                           │
  2612.  │   superscript {size} <value>                                         │
  2613.  └──────────────────────────────────────────────────────────────────────┘
  2614.  
  2615.  Description:
  2616.  
  2617.  These commands set the subscript and superscript sizes in default units.
  2618.  The default values are 0.15 inches.
  2619.  
  2620.  Example:
  2621.  
  2622.      » subscript size 0.15
  2623.      » superscript size 0.15
  2624.  
  2625.  Also see CHARACTER FONT, CHARACTER GAP, CHARACTER RATIO, CHARACTER SIZE,
  2626.  CHARACTER SLANT and TEXT.
  2627. ≡symbol
  2628.  Syntax:
  2629.  ┌──────────────────────────────────────────────────────────────────────┐
  2630.  │   symbol <code>/<name> size <value>                                  │
  2631.  └──────────────────────────────────────────────────────────────────────┘
  2632.  
  2633.  Description:
  2634.  
  2635.  Defines the symbol to use in displaying data points.  Mnemonic codes
  2636.  may be used to specify a symbol.  You have a choice of 16 standard
  2637.  graphics symbols and a dot:
  2638.                                    (filled symbols)
  2639.       0 - dot
  2640.       1 - square                    11 - fsquare
  2641.       2 - circle                    12 - fcircle
  2642.       3 - triangle                  13 - ftriangle
  2643.       4 - diamond                   14 - fdiamond
  2644.       5 - itriangle (inv triangle)  15 - fitriangle
  2645.       6 - hourglass                 16 - fhourglass
  2646.       7 - plus
  2647.       8 - cross
  2648.       9 - star
  2649.      10 - pdiamond (plus within a diamond)
  2650.  
  2651.  The default is a square ('symbol 1' or 'symbol square').  The symbol
  2652.  size is specified as the height of the current symbol in default units.
  2653.  The default symbol size is 0.17 inches.
  2654.  
  2655.  If you specify 'symbol 0' or 'symbol dot', no markers will be plotted
  2656.  at each point location, just a tiny point the size of a pixel, so you
  2657.  can plot lots of data.
  2658.  
  2659.  Entering 'symbol' by itself simply shows the current symbol type and
  2660.  size.
  2661.  
  2662.  (Filled symbols work only on certain hardware devices.  Software symbol
  2663.  fill is under development.)
  2664.  
  2665.  Examples:
  2666.  
  2667.      » symbol square size 0.2
  2668.      » symbol 3
  2669.      » sym 0
  2670. ≡terminal
  2671.  Syntax:
  2672.  ┌──────────────────────────────────────────────────────────────────────┐
  2673.  │   terminal {<terminal-type>}                                         │
  2674.  └──────────────────────────────────────────────────────────────────────┘
  2675.  
  2676.  Description:
  2677.  
  2678.  Graphica supports many different graphics devices.  Use this command to
  2679.  select the type of device for which Graphica will produce output.
  2680.  
  2681.  If <terminal-type> is omitted, Graphica will show the currently defined
  2682.  output terminal and list the available terminal types.  <terminal-type>
  2683.  may be abbreviated.
  2684.  
  2685.  Use 'output' to redirect this output to a file, device or port.
  2686.  
  2687.  Examples:
  2688.  
  2689.      » terminal hpgl
  2690.      » terminal
  2691.  
  2692.  would print out the following:
  2693.  
  2694.  available terminal types:
  2695.             unknown  Unknown terminal type - not a plotting device
  2696.                 bgi  IBM PC/Clone with a Hercules/CGA/EGA/VGA graphics card
  2697.                epsf  Encapsulated PostScript Graphics Language
  2698.               epson  Epson LX-800, Star NL-10, NX-1000, etc.
  2699.                hpgl  HPGL Graphics Language and HP7475 plotter
  2700.               hpgl2  HPGL Graphics Language and HP7550 plotter
  2701.                 pic  Lotus 1-2-3 PIC Graphics Format
  2702.          postscript  PostScript Graphics Language
  2703.  
  2704.  and possibly (depending on the version you have) any of the following:
  2705.  
  2706.              apollo  HP Apollo Domain Workstation - direct mode
  2707.                 cbm  Coherent Bitmap Graphics
  2708.            kercolor  Kermit-MS color tek40xx terminal emulator
  2709.             kermono  Kermit-MS monochrome tek40xx terminal emulator
  2710.               latex  LaTeX picture environment
  2711.                 qms  QMS Laser Printer
  2712.              raster  Raster Technologies Model One terminal
  2713.             tek40xx  Tektronix 4010 and most TEK emulators
  2714.  
  2715.  Notes on some of the graphics formats:
  2716.  
  2717.  The software fonts will look identically whether you use hpgl, PIC,
  2718.  PostScript or any other driver.  The only difference comes from the
  2719.  slight resolution difference in the formats.  The standard hpgl
  2720.  resolution is 10365 by 7962 pixels.  The Lotus 1-2-3 PIC format has
  2721.  a fixed resolution of 3200 by 2311 pixels.  The PostScript driver
  2722.  outputs graphic information at a resolution of 7920 by 6120 pixels.
  2723.  
  2724.  The hpgl, PIC and PostScript drivers output portrait files by
  2725.  turning the paper around 90 degrees.  An hpgl graph will come out
  2726.  alright on an actual HP plotter (which has its paper always in the
  2727.  landscape orientation).  If you need to import the file into a
  2728.  program that can read any of these formats, you'll have to rotate
  2729.  the plot back a quarter turn.
  2730.  
  2731.  The Lotus 1-2-3 PIC format should not be confused with the PC Paint
  2732.  Plus format, PPIC or with Dr. Halo PIC format.  Some programs only
  2733.  look at the file extension instead of looking inside the file to
  2734.  determine what type of graphics information is in it.  For example,
  2735.  the graphics viever VPIC won't read PIC files generated by Graphica
  2736.  (because it thinks it's something else).  WordPerfect for DOS and
  2737.  Word for Windows will read Graphica PIC files without a hitch.
  2738.  
  2739.  Only the PostScript driver supports line widths.
  2740.  
  2741.  See DUMP, OUTPUT and POSTSCRIPT.
  2742. ≡tics
  2743.  Syntax:
  2744.  ┌──────────────────────────────────────────────────────────────────────┐
  2745.  │   tic {size} <major value> <minor value> {<direction>}               │
  2746.  └──────────────────────────────────────────────────────────────────────┘
  2747.  
  2748.  Description:
  2749.  
  2750.  All axes are marked off in equal segments with tic marks.  The values
  2751.  major and minor determine the size of the major and minor tic marks.
  2752.  The defaults are 0.16 and 0.09 inches for the major and minor tic marks,
  2753.  respectively.
  2754.  
  2755.  By default, tics are drawn inwards from the border on all four sides.
  2756.  The 'tic' command can be used to change the tics to be drawn outwards.
  2757.  <direction> may be in, out or nothing (which is the same as in).
  2758.  
  2759.  Entering 'tics' by itself simply shows the current tic size and direction.
  2760.  
  2761.  Example:
  2762.  
  2763.      » tic size 0.1 0.06
  2764.      » tics in
  2765. ≡timestamp
  2766. ≡notimestamp
  2767.  Syntax:
  2768.  ┌──────────────────────────────────────────────────────────────────────┐
  2769.  │   timestamp                                                          │
  2770.  │   notimestamp                                                        │
  2771.  └──────────────────────────────────────────────────────────────────────┘
  2772.  
  2773.  Description:
  2774.  
  2775.  This command toggles the timestamp on and off on a non-screen plot.
  2776.  The timestamp is simply a message drawn near the bottom of the page as
  2777.  follows:
  2778.  
  2779.      Graphica version 2.2 Thu Feb 11 11:34:14 1993
  2780.  
  2781.  'timestamp' activates printing of the message ; 'notimestamp' deactivates
  2782.  it.  The default is ON.  You may put a 'notimestamp' command in your
  2783.  'graphica.ini' initialization file.
  2784.  
  2785.  Examples:
  2786.  
  2787.      » timestamp
  2788.      » notimestamp
  2789.  
  2790.  Also see STARTUP.
  2791. ≡type
  2792. ≡more
  2793.  Syntax:
  2794.  ┌──────────────────────────────────────────────────────────────────────┐
  2795.  │   type <file>                                                        │
  2796.  │   more <file>                                                        │
  2797.  └──────────────────────────────────────────────────────────────────────┘
  2798.  
  2799.  Description:
  2800.  
  2801.  The 'type' command displays the contents of a file.  Pathnames, wildcards,
  2802.  and drive designators may be used in the usual way for your operating
  2803.  system.  Other operating system commands can be issued using the $
  2804.  character on the very first position of a line followed by a command.
  2805.  'more' is the UNIX version of the command.
  2806.  
  2807.  Examples:
  2808.  
  2809.      » type script.plt
  2810.  
  2811.  lists the ASCII file script.plt.
  2812.  
  2813.      » type foo
  2814.  
  2815.  lists the ASCII file foo.
  2816.  
  2817.  Also see DEL, DIR, SHELL and WHAT.
  2818. ≡units
  2819.  Syntax:
  2820.  ┌──────────────────────────────────────────────────────────────────────┐
  2821.  │   units <unit type>                                                  │
  2822.  └──────────────────────────────────────────────────────────────────────┘
  2823.  
  2824.  Description:
  2825.  
  2826.  It is sometimes desirable to use units other than inches, i.e., the
  2827.  metric system, with Graphica.  To change the unit of measure for
  2828.  parameters which are usually given in inches use the unit command.
  2829.  This command defines the units to be used in subsequent commands which
  2830.  represent a length or position normally supplied in inches, such as in
  2831.  paper size, subplot area, etc.
  2832.  
  2833.  The <unit type> may be 'in', 'cm' or 'mm'.
  2834.  
  2835.  Entering 'units' by itself simply shows the current units of measure.
  2836.  
  2837.  Changing the units of measure also changes the built-in variable
  2838.  'ufactor'.
  2839.  
  2840.  Example:
  2841.  
  2842.      » units cm
  2843.  
  2844.  See VARIABLES.
  2845. ≡view
  2846.  Syntax:
  2847.  ┌──────────────────────────────────────────────────────────────────────┐
  2848.  │   view                                                               │
  2849.  └──────────────────────────────────────────────────────────────────────┘
  2850.  
  2851.  Description:
  2852.  
  2853.  Retracts the pen and advances the paper on a pen plotter to view the
  2854.  graph fully.  This command is similar to pushing the VIEW button on
  2855.  Hewlett-Packard HP7475 or HP7550 plotters.
  2856.  
  2857.  Example:
  2858.  
  2859.      » view
  2860.  
  2861.  would move the plotting paper outward into view.
  2862. ≡x
  2863. ≡y
  2864. ≡x2
  2865. ≡y2
  2866. ≡logarithmic
  2867. ≡linear
  2868. ≡sqr
  2869.  Syntax:
  2870.  ┌──────────────────────────────────────────────────────────────────────┐
  2871.  │   {x,y,y2,x2} {linear,logarithmic,probability,sqr}                   │
  2872.  └──────────────────────────────────────────────────────────────────────┘
  2873.  
  2874.  Description:
  2875.  
  2876.  With this command, the kind of axis to be plotted may be specified, as
  2877.  follows:
  2878.  
  2879.  linear - specifies a linear axis.  A linear scale is a standard base 10
  2880.  numeric scale.  This is the default.
  2881.  
  2882.  logarithmic - specifies a log axis.  A log scale is a base 10
  2883.  logarithmic scale.  If a regression has been performed, the values for
  2884.  that particular axis are logarithmic.  Given the mapped range for an
  2885.  axis, the logarithmic range for that axis will be determined
  2886.  automatically.  If an axis is to be logarithmic, there is no need to
  2887.  specify the number of divisions or the format.  If the range is
  2888.  negative as specified in a map command, Graphica automatically converts
  2889.  it to positive.  Zero values for min or max will cause the log axis to
  2890.  begin at 0.001.
  2891.  
  2892.  probability - a probability scale is the inverse of the Gaussian
  2893.  cumulative distribution function.  Thus the graph of the sigmoidally
  2894.  shaped Gaussian cumulative distribution function on a probability scale
  2895.  will be a straight line.
  2896.  
  2897.  Probabilities are expressed as a percentage so that the range of the
  2898.  scale is from 0 to 100.  The minimum and maximum values that a
  2899.  probability axis can take in Graphica are 0.01 and 99.99.  A probability
  2900.  axis label could be specified as something like "cumulative frequency, %".
  2901.  
  2902.  sqr - square-root axis.  Used in some engineering applications.  A square
  2903.  root scale is based on the square root of the axis in question.
  2904.  
  2905.  Examples:
  2906.  
  2907.      » x lin
  2908.      » y log
  2909.      » x2 pro
  2910.      » x sqr
  2911. ≡xlabel
  2912. ≡ylabel
  2913. ≡x2label
  2914. ≡y2label
  2915.  Syntax:
  2916.  ┌──────────────────────────────────────────────────────────────────────┐
  2917.  │   {xlabel,x2label,ylabel,y2label} 'string' {rotate}                  │
  2918.  └──────────────────────────────────────────────────────────────────────┘
  2919.  
  2920.  Description:
  2921.  
  2922.  This command draws a centered label for that axis.  The label text must
  2923.  be enclosed in single or double quotes.  All labels are drawn using the
  2924.  current character font and size.  The label bottom command is equivalent
  2925.  to the xlabel command.  Likewise, the 'label top', 'left', and 'right'
  2926.  commands are equivalent to the 'x2label', 'ylabel' and 'y2label' commands.
  2927.  
  2928.  The ROTATE switch turns the labels around 180 degrees.  This may
  2929.  become especially useful when drawing the y2-label (some people prefer
  2930.  the y2-label to "face" left rather than right).
  2931.  
  2932.  Examples:
  2933.  
  2934.      » xlabel 'This is the x-axis label'
  2935.      » ylabel 'This is the y-axis label'
  2936.      » y2label 'rotated y2-label' rotate
  2937. ≡expressions
  2938.  Syntax:
  2939.  ┌──────────────────────────────────────────────────────────────────────┐
  2940.  │   <expression>                                                       │
  2941.  └──────────────────────────────────────────────────────────────────────┘
  2942.  
  2943.  Description:
  2944.  
  2945.  You can determine the value of expressions or variables by just typing
  2946.  the expression or variable at the » prompt.
  2947.  
  2948.  In general, any mathematical expression accepted by C, FORTRAN, Pascal,
  2949.  or BASIC is valid.  The precedence of these operators is determined by
  2950.  the specifications of the C programming language.  White space (spaces
  2951.  and tabs) is ignored inside expressions.
  2952.  
  2953.  Complex variables may be expressed as {<real>,<imag>}, where <real> and
  2954.  <imag> must be numbers.  For example, {3,2} represents 3 + 2i; {0,1}
  2955.  represents 'i' itself.  The curly braces are explicitly required.
  2956.  
  2957.  Examples:
  2958.  
  2959.      » 2*3
  2960.  
  2961.  would print out '2*3 = 6'
  2962.  
  2963.      » 30+2*2
  2964.  
  2965.  would print out '30+2*2 = 34'
  2966. ≡complex
  2967.  Syntax:
  2968.  ┌──────────────────────────────────────────────────────────────────────┐
  2969.  │   Complex Variables                                                  │
  2970.  └──────────────────────────────────────────────────────────────────────┘
  2971.  
  2972.  Complex variables may be expressed as {<real>,<imag>}, where <real> and
  2973.  <imag> must be numbers.  For example, {3,2} represents 3 + 2i; {0,1}
  2974.  represents 'i' itself.  The curly braces are explicitly required.
  2975.  
  2976.  Also see EXPRESSIONS and FUNCTIONS.
  2977. ≡expressions functions
  2978. ≡functions
  2979.  Syntax:
  2980.  ┌──────────────────────────────────────────────────────────────────────┐
  2981.  │   functions                                                          │
  2982.  └──────────────────────────────────────────────────────────────────────┘
  2983.  
  2984.  All functions in Graphica accept integer, real, and complex arguments,
  2985.  unless otherwise noted.
  2986.  
  2987.  The 'functions' command by itself lists all user-defined functions and
  2988.  their definitions.
  2989.  
  2990.  Graphica also supports the following special functions:
  2991.  
  2992.  Gamma function                                     y = gamma( x )
  2993.  Natural logarithm of gamma function                y = lgamma( x )
  2994.  
  2995.  Incomplete gamma integral                          y = igamma( a, x )
  2996.  Complemented incomplete gamma integral             y = igamc( a, x )
  2997.  Inverse of complemented incomplete gamma integral  x = igami( a, y )
  2998.  
  2999.  Incomplete beta integral                           y = ibeta( a, b, x )
  3000.  Inverse of incomplete beta integral                x = ibetai( a, b, y )
  3001.  
  3002.  Error function                                     y = erf( x )
  3003.  Complementary error function                       y = erfc( x )
  3004.  Inverse error function                             x = ierf( y )
  3005.  
  3006.  Also see VARIABLES.
  3007. ≡expressions functions abs
  3008. ≡functions abs
  3009. ≡abs
  3010.  ┌──────────────────────────────────────────────────────────────────────┐
  3011.  │   abs                                                                │
  3012.  └──────────────────────────────────────────────────────────────────────┘
  3013.  
  3014.  abs(z) returns the absolute value of the real or complex number z.
  3015.  The returned value is of the same type as the argument.  For complex
  3016.  arguments, abs(z) returns the complex modulus (magnitude) defined as
  3017.  the length of z in the complex plane:
  3018.  
  3019.      sqrt( real(z)**2 + imag(z)**2 )
  3020. ≡expressions functions acos
  3021. ≡functions acos
  3022. ≡acos
  3023.  ┌──────────────────────────────────────────────────────────────────────┐
  3024.  │   acos                                                               │
  3025.  └──────────────────────────────────────────────────────────────────────┘
  3026.  
  3027.  acos(z) returns the arc cosine (inverse cosine) of z.  All results
  3028.  are given in radians.  For real z, such that abs(z) <= 0.0, the
  3029.  result is in the range 0 to π.  Complex results are obtained if
  3030.  abs(z) > 1.0, or if z is complex.  The complex arc cosine is defined as:
  3031.  
  3032.      acos(z) = -i log( z + i sqrt(1-z**2) )
  3033. ≡expressions functions acosh
  3034. ≡functions acosh
  3035. ≡acosh
  3036.  ┌──────────────────────────────────────────────────────────────────────┐
  3037.  │   acosh                                                              │
  3038.  └──────────────────────────────────────────────────────────────────────┘
  3039.  
  3040.  acosh(z) returns the arc hyperbolic cosine (inverse hyperbolic cosine)
  3041.  of z.  All results are given in radians.  For real z, such that abs(z) <=
  3042.  0.0, the result is in the range 0 to π.  Complex results are obtained if
  3043.  abs(z) > 1.0, or if z is complex.  The complex arc cosine is defined as:
  3044.  
  3045.      acosh(z) = -i log( z + i sqrt(1-z**2) )
  3046. ≡expressions functions arg
  3047. ≡functions arg
  3048. ≡arg
  3049.  ┌──────────────────────────────────────────────────────────────────────┐
  3050.  │   arg                                                                │
  3051.  └──────────────────────────────────────────────────────────────────────┘
  3052.  
  3053.  arg(z) returns the phase angle of a complex number z, in radians.
  3054.  The result is always between -π and π.
  3055.  For complex z = x + iy = r exp(i theta), the magnitude and phase
  3056.  are given by
  3057.  
  3058.      r = abs(z)
  3059.      theta = arg(z)
  3060. ≡expressions functions asin
  3061. ≡functions asin
  3062. ≡asin
  3063.  ┌──────────────────────────────────────────────────────────────────────┐
  3064.  │   asin                                                               │
  3065.  └──────────────────────────────────────────────────────────────────────┘
  3066.  
  3067.  asin(z) returns the arc sine (inverse sine) of z.  All results are
  3068.  given in radians.  For real z, such that abs(z) <= 1.0, the result is
  3069.  in the range -π/2 to π/2.  Complex results are obtained if abs(z) >
  3070.  1.0, or if z is complex.  The complex arc sine is defined as:
  3071.  
  3072.      asin(z) = -i log( iz + sqrt(1-z**2) )
  3073. ≡expressions functions asinh
  3074. ≡functions asinh
  3075. ≡asinh
  3076.  ┌──────────────────────────────────────────────────────────────────────┐
  3077.  │   asinh                                                              │
  3078.  └──────────────────────────────────────────────────────────────────────┘
  3079.  
  3080.  asinh(z) returns the arc hyperbolic sine (inverse hyperbolic sine)
  3081.  of z.  All results are given in radians.  For real z, such that
  3082.  abs(z) <= 1.0, the result is in the range -π/2 to π/2.  Complex
  3083.  results are obtained if abs(z) > 1.0, or if z is complex.  The
  3084.  complex arc sine is defined as:
  3085.  
  3086.      asinh(z) = -i log( iz + sqrt(1-z**2) )
  3087. ≡expressions functions atan
  3088. ≡functions atan
  3089. ≡atan
  3090.  ┌──────────────────────────────────────────────────────────────────────┐
  3091.  │   atan                                                               │
  3092.  └──────────────────────────────────────────────────────────────────────┘
  3093.  
  3094.  atan(z) returns the arc tangent (inverse tangent) of z.  All results
  3095.  are given in radians.  For real z, the result is in the range -π/2 to
  3096.  π/2.  If z is complex, the complex arc tangent is returned:
  3097.  
  3098.      atan(z) = i/2 log( (i+z) / (i-z) )
  3099. ≡expressions functions atanh
  3100. ≡functions atanh
  3101. ≡atanh
  3102.  ┌──────────────────────────────────────────────────────────────────────┐
  3103.  │   atanh                                                              │
  3104.  └──────────────────────────────────────────────────────────────────────┘
  3105.  
  3106.  atanh(z) returns the arc hyperbolic tangent (inverse hyperbolic
  3107.  tangent) of z.  All results are given in radians.  For real z, the
  3108.  result is in the range -π/2 to π/2.  If z is complex, the complex arc
  3109.  tangent is returned:
  3110.  
  3111.      atanh(z) = i/2 log( (i+z) / (i-z) )
  3112. ≡expressions functions ibeta
  3113. ≡functions ibeta
  3114. ≡ibeta
  3115.  ┌──────────────────────────────────────────────────────────────────────┐
  3116.  │   ibeta                                                              │
  3117.  └──────────────────────────────────────────────────────────────────────┘
  3118.  
  3119.  ibeta(p,q,z) returns the incomplete beta function of the real parts of
  3120.  its arguments (p, q>0 and 0<z<1).  If the arguments are complex, the
  3121.  imaginary components are ignored.  The function is defined as
  3122.   
  3123.                     x
  3124.        -            -
  3125.       | (a+b)      | |  a-1     b-1
  3126.     -----------    |   t   (1-t)   dt.
  3127.      -     -     | |
  3128.     | (a) | (b)   -
  3129.                    0
  3130.  
  3131. ≡expressions functions ibetai
  3132. ≡functions ibetai
  3133. ≡ibetai
  3134.  ┌──────────────────────────────────────────────────────────────────────┐
  3135.  │   ibetai                                                             │
  3136.  └──────────────────────────────────────────────────────────────────────┘
  3137.  
  3138.  x = ibetai(a,b,y) returns the inverse of the incomplete beta function
  3139.  of the real parts of its arguments (p, q>0 and 0<z<1).  If the arguments
  3140.  are complex, the imaginary components are ignored.  Given y, the function
  3141.  finds x such that ibeta( a, b, x ) = y.
  3142. ≡expressions functions ceil
  3143. ≡functions ceil
  3144. ≡ceil
  3145.  ┌──────────────────────────────────────────────────────────────────────┐
  3146.  │   ceil                                                               │
  3147.  └──────────────────────────────────────────────────────────────────────┘
  3148.  
  3149.  ceil(z) returns the smallest integer greater than z.  For complex
  3150.  numbers, ceil returns the smallest integer greater than the real part of z.
  3151. ≡expressions functions cos
  3152. ≡functions cos
  3153. ≡cos
  3154.  ┌──────────────────────────────────────────────────────────────────────┐
  3155.  │   cos                                                                │
  3156.  └──────────────────────────────────────────────────────────────────────┘
  3157.  
  3158.  cos(z) returns the cosine of z, where z is in radians.
  3159.  For complex z = x + iy, the complex cosine is returned:
  3160.  
  3161.      cos(z) = cos(x) cosh(y) - u sin(x) sinh(y)
  3162. ≡expressions functions cosh
  3163. ≡functions cosh
  3164. ≡cosh
  3165.  ┌──────────────────────────────────────────────────────────────────────┐
  3166.  │   cosh                                                               │
  3167.  └──────────────────────────────────────────────────────────────────────┘
  3168.  
  3169.  cosh(z) returns the hyperbolic cosine of z, where z is in radians.
  3170. ≡expressions functions exp
  3171. ≡functions exp
  3172. ≡exp
  3173.  ┌──────────────────────────────────────────────────────────────────────┐
  3174.  │   exp                                                                │
  3175.  └──────────────────────────────────────────────────────────────────────┘
  3176.  
  3177.  exp(z) returns the exponential function of z (e raised to the power
  3178.  of z).  For complex z = x + iy, the complex exponential is returned:
  3179.  
  3180.      exp(z) = exp(x) ( cos(y) + i sin(y) )
  3181. ≡expressions functions erf
  3182. ≡functions erf
  3183. ≡erf
  3184.  ┌──────────────────────────────────────────────────────────────────────┐
  3185.  │   erf                                                                │
  3186.  └──────────────────────────────────────────────────────────────────────┘
  3187.  
  3188.  erf(x) returns the error function of x.  erf(x) is the integral of the
  3189.  normal (Gaussian) probability distribution function from 0 to x.  The
  3190.  error function is central to many calculations in statistics.  It is
  3191.  defined as:
  3192.  
  3193.      erf(x) = 2/sqrt(pi) integral(0,x) exp(-t^2)
  3194.  
  3195.  Also see ERFC and IERF.
  3196. ≡expressions functions erfc
  3197. ≡functions erfc
  3198. ≡erfc
  3199.  ┌──────────────────────────────────────────────────────────────────────┐
  3200.  │   erfc                                                               │
  3201.  └──────────────────────────────────────────────────────────────────────┘
  3202.  
  3203.  erfc(x) returns the complementary error function of x.  erfc(x) is
  3204.  simply 1.0 - erf(x), where erf(x) is the integral of the normal
  3205.  (Gaussian) probability distribution function from 0 to x.
  3206.  
  3207.     1 - erf(x) =  
  3208.                              inf. 
  3209.                                -
  3210.                     2         | |          2
  3211.      erfc(x)  =  --------     |    exp( - t  ) dt
  3212.                  sqrt(pi)   | |
  3213.                              -
  3214.                               x
  3215.  Also see ERF and IERF.
  3216. ≡expressions functions floor
  3217. ≡functions floor
  3218. ≡floor
  3219.  ┌──────────────────────────────────────────────────────────────────────┐
  3220.  │   floor                                                              │
  3221.  └──────────────────────────────────────────────────────────────────────┘
  3222.  
  3223.  floor(z) returns the greatest integer less than or equal to z.  For
  3224.  complex numbers, floor returns the largest integer not greater than
  3225.  the real part of z.
  3226. ≡expressions functions gamma
  3227. ≡functions gamma
  3228. ≡gamma
  3229.  ┌──────────────────────────────────────────────────────────────────────┐
  3230.  │   gamma                                                              │
  3231.  └──────────────────────────────────────────────────────────────────────┘
  3232.  
  3233.  gamma(z) returns the gamma function of the real part of z.  For
  3234.  integer z, gamma(z+1) = z!.  If z is a complex value, the imaginary
  3235.  component is ignored.
  3236.  
  3237.  Also see IGAMMA, LGAMMA, IGAMC, IGAMI.
  3238. ≡expressions functions lgamma
  3239. ≡functions lgamma
  3240. ≡lgamma
  3241.  ┌──────────────────────────────────────────────────────────────────────┐
  3242.  │   lgamma                                                             │
  3243.  └──────────────────────────────────────────────────────────────────────┘
  3244.  
  3245.  lgamma(z) returns the base e (2.718...) logarithm of the absolute
  3246.  value of the gamma function of the argument.
  3247.  
  3248.  Also see GAMMA, IGAMMA, IGAMC, IGAMI.
  3249. ≡expressions functions igamc
  3250. ≡functions igamc
  3251. ≡igamc
  3252.  ┌──────────────────────────────────────────────────────────────────────┐
  3253.  │   igamc                                                              │
  3254.  └──────────────────────────────────────────────────────────────────────┘
  3255.  
  3256.  igamc(a,x) returns the complemented incomplete gamma integral.  This
  3257.  function is defined by
  3258.   
  3259.     igamc(a,x)   =   1 - igamma(a,x)
  3260.   
  3261.                               inf.
  3262.                                 -
  3263.                        1       | |  -t  a-1
  3264.                  =   -----     |   e   t   dt.
  3265.                       -      | |
  3266.                      | (a)    -
  3267.                                x
  3268.  
  3269.  Also see GAMMA, IGAMMA, LGAMMA, IGAMI.
  3270. ≡expressions functions igami
  3271. ≡functions igami
  3272. ≡igami
  3273.  ┌──────────────────────────────────────────────────────────────────────┐
  3274.  │   igami                                                              │
  3275.  └──────────────────────────────────────────────────────────────────────┘
  3276.  
  3277.  igami(a,y) returns the inverse of the complemented incomplete gamma
  3278.  integral.  Given y, the function finds x such that igamc( a, x ) = y.
  3279.  
  3280.  Also see GAMMA, IGAMMA, LGAMMA, IGAMC.
  3281. ≡expressions functions ierf
  3282. ≡functions ierf
  3283. ≡ierf
  3284.  ┌──────────────────────────────────────────────────────────────────────┐
  3285.  │   ierf                                                               │
  3286.  └──────────────────────────────────────────────────────────────────────┘
  3287.  
  3288.  ierf(z) returns the inverse error function of the real part of z.  The
  3289.  error function, erf(x), is the integral of the normal (Gaussian)
  3290.  probability distribution function from 0 to x.
  3291.  
  3292.  Also see ERF and ERFC.
  3293. ≡expressions functions igamma
  3294. ≡functions igamma
  3295. ≡igamma
  3296.  ┌──────────────────────────────────────────────────────────────────────┐
  3297.  │   igamma                                                             │
  3298.  └──────────────────────────────────────────────────────────────────────┘
  3299.  
  3300.  igamma(a,z) returns the incomplete gamma function of the real parts of
  3301.  its arguments (a > 0 and z >= 0).  If the arguments are complex, the
  3302.  imaginary components are ignored.
  3303.  
  3304.  The function is defined by
  3305.                                x
  3306.                                 -
  3307.                        1       | |  -t  a-1
  3308.     igamma(a,x)  =   -----     |   e   t   dt.
  3309.                       -      | |
  3310.                      | (a)    -
  3311.                                0
  3312.  
  3313.  Also see GAMMA and FUNCTIONS.
  3314. ≡expressions functions imag
  3315. ≡functions imag
  3316. ≡imag
  3317.  ┌──────────────────────────────────────────────────────────────────────┐
  3318.  │   imag                                                               │
  3319.  └──────────────────────────────────────────────────────────────────────┘
  3320.  
  3321.  imag(z) returns the imaginary part of z as a real number.
  3322. ≡expressions functions int
  3323. ≡functions int
  3324. ≡int
  3325.  ┌──────────────────────────────────────────────────────────────────────┐
  3326.  │   int                                                                │
  3327.  └──────────────────────────────────────────────────────────────────────┘
  3328.  
  3329.  int(z) returns the integer part of z, truncated toward zero.
  3330. ≡expressions functions ln
  3331. ≡functions ln
  3332. ≡ln
  3333.  ┌──────────────────────────────────────────────────────────────────────┐
  3334.  │   ln                                                                 │
  3335.  └──────────────────────────────────────────────────────────────────────┘
  3336.  
  3337.  ln(z) returns the natural logarithm (base e) of z.  For complex or
  3338.  negative z, the complex logarithm is returned:
  3339.  
  3340.      ln(z) = ln( abs(z) ) + i atan2( y, x )
  3341. ≡expressions functions log
  3342. ≡functions log
  3343. ≡log
  3344.  ┌──────────────────────────────────────────────────────────────────────┐
  3345.  │   log                                                                │
  3346.  └──────────────────────────────────────────────────────────────────────┘
  3347.  
  3348.  log(z) returns the logarithm (base 10) of z.  For complex or
  3349.  negative z, the complex logarithm is returned:
  3350.  
  3351.      log(z) = log( abs(z) ) + i atan2( y, x )
  3352. ≡expressions functions rand
  3353. ≡functions rand
  3354. ≡rand
  3355.  Syntax:
  3356.  ┌──────────────────────────────────────────────────────────────────────┐
  3357.  │   rand                                                               │
  3358.  └──────────────────────────────────────────────────────────────────────┘
  3359.  
  3360.  Syntax:
  3361.  
  3362.      rand
  3363.      rand(0)
  3364.      rand(1)
  3365.  
  3366.  Description:
  3367.  
  3368.  rand(0) returns a pseudorandom number in the interval (0.0,1.0)
  3369.  using a uniform distribution.  rand(1) returns a pseudorandom
  3370.  number using a normal distribution with mean 0.0 and variance 1.0.
  3371.  
  3372.  Entering 'rand' by itself is equivalent to entering 'rand(0)'.
  3373.  
  3374.  When Graphica starts up, it takes the time of day (measured in
  3375.  small fractions of a second) as the seed for the pseudorandom
  3376.  number generator.  Two different Graphica sessions will therefore
  3377.  almost always give different sequences of pseudorandom numbers.
  3378.  
  3379.  If you want to make sure that you always get the same sequence
  3380.  of pseudorandom numbers, you can explicitly give a seed for the
  3381.  pseudorandom number generator, using 'seed'.
  3382.  
  3383.  Examples:
  3384.  
  3385.      » rand(0)
  3386.      » plot rand(0) add
  3387.      » rand
  3388.      » rand(1)
  3389.  
  3390.  Also see FUNCTIONS and SEED.
  3391. ≡seed
  3392.  Syntax:
  3393.  ┌──────────────────────────────────────────────────────────────────────┐
  3394.  │   seed                                                               │
  3395.  └──────────────────────────────────────────────────────────────────────┘
  3396.  
  3397.  Syntax:
  3398.  
  3399.      seed n
  3400.  
  3401.  Description:
  3402.  
  3403.  'seed' explicitly gives a seed for the pseudorandom number generator.
  3404.  
  3405.  Example:
  3406.  
  3407.      » seed 321
  3408.      » rand
  3409.  rand = 0.27789
  3410.      » rand
  3411.  rand = 0.41721
  3412.  
  3413.  To repeat the sequence exactly, reseed the number generator:
  3414.  
  3415.      » seed 321
  3416.      » rand
  3417.  rand = 0.27789
  3418.      » rand
  3419.  rand = 0.41721
  3420.  
  3421.  Also see RAND.
  3422. ≡expressions functions real
  3423. ≡functions real
  3424. ≡real
  3425.  ┌──────────────────────────────────────────────────────────────────────┐
  3426.  │   real                                                               │
  3427.  └──────────────────────────────────────────────────────────────────────┘
  3428.  
  3429.  real(z) returns the real part of z.
  3430. ≡expressions functions sgn
  3431. ≡functions sgn
  3432. ≡sgn
  3433.  ┌──────────────────────────────────────────────────────────────────────┐
  3434.  │   sgn                                                                │
  3435.  └──────────────────────────────────────────────────────────────────────┘
  3436.  
  3437.  sgn(z) returns 1 if z is positive, -1 if z is negative, and 0 if z is 0.
  3438.  If z is a complex value, the imaginary component is ignored.
  3439. ≡expressions functions sin
  3440. ≡functions sin
  3441. ≡sin
  3442.  ┌──────────────────────────────────────────────────────────────────────┐
  3443.  │   sin                                                                │
  3444.  └──────────────────────────────────────────────────────────────────────┘
  3445.  
  3446.  sin(z) returns the sine of z, where z is in radians.
  3447.  For complex z = x + iy, the complex sine is returned:
  3448.  
  3449.      sin(z) = sin(x) cosh(y) - i cos(x) sinh(y)
  3450. ≡expressions functions sinh
  3451. ≡functions sinh
  3452. ≡sinh
  3453.  ┌──────────────────────────────────────────────────────────────────────┐
  3454.  │   sinh                                                               │
  3455.  └──────────────────────────────────────────────────────────────────────┘
  3456.  
  3457.  sinh(z) returns the hyperbolic sine of z, where z is in radians.
  3458. ≡expressions functions sqrt
  3459. ≡functions sqrt
  3460. ≡sqrt
  3461.  ┌──────────────────────────────────────────────────────────────────────┐
  3462.  │   sqrt                                                               │
  3463.  └──────────────────────────────────────────────────────────────────────┘
  3464.  
  3465.  sqrt(z) returns the square root of z.
  3466. ≡expressions functions tan
  3467. ≡functions tan
  3468. ≡tan
  3469.  ┌──────────────────────────────────────────────────────────────────────┐
  3470.  │   tan                                                                │
  3471.  └──────────────────────────────────────────────────────────────────────┘
  3472.  
  3473.  tan(z) returns the tangent of z, where z is in radians.
  3474.  For complex z, the complex tangent sin(z)/cos(z) is returned.
  3475. ≡expressions functions tanh
  3476. ≡functions tanh
  3477. ≡tanh
  3478.  ┌──────────────────────────────────────────────────────────────────────┐
  3479.  │   tanh                                                               │
  3480.  └──────────────────────────────────────────────────────────────────────┘
  3481.  
  3482.  tanh(z) returns the hyperbolic tangent of z, where z is in radians.
  3483. ≡expressions operators
  3484. ≡operators
  3485.  ┌──────────────────────────────────────────────────────────────────────┐
  3486.  │   Operators                                                          │
  3487.  └──────────────────────────────────────────────────────────────────────┘
  3488.  
  3489.  All operators in Graphica accept integer, real, and complex arguments,
  3490.  unless otherwise noted.  The ** operator (exponentiation) is supported,
  3491.  as in FORTRAN.
  3492.  
  3493.  Parentheses may be used to change the order of evaluation.
  3494. ≡expressions operators binary
  3495. ≡operators binary
  3496. ≡binary
  3497.  ┌──────────────────────────────────────────────────────────────────────┐
  3498.  │   Binary Operators                                                   │
  3499.  └──────────────────────────────────────────────────────────────────────┘
  3500.  
  3501.  The following is a list of all the binary operators and their usage:
  3502.  
  3503.          symbol             example              explanation
  3504.  
  3505.           **                 a**b                 exponentiation
  3506.           *                  a*b                  multiplication
  3507.           /                  a/b                  division
  3508.           \                  a\b                  left division
  3509.           %                  a%b                * modulo
  3510.           +                  a+b                  addition
  3511.           -                  a-b                  subtraction
  3512.           ==                 a==b                 equality
  3513.           !=                 a!=b                 inequality
  3514.           &                  a&b                * bitwise AND
  3515.           ^                  a^b                * bitwise exclusive OR
  3516.           |                  a|b                * bitwise inclusive OR
  3517.           &&                 a&&b               * logical AND
  3518.           ||                 a||b               * logical OR
  3519.  
  3520.           (*) Operator requires integer arguments.
  3521.  
  3522.  Logical AND (&&) and OR (||) short-circuit the way they do in C.  That
  3523.  is, the second && operand is not evaluated if the first is false;  the
  3524.  second || operand is not evaluated if the first is true.
  3525.  
  3526.  Multiplication must be explicitly noted with the asterisk;  adjacent
  3527.  parenthetical terms such as (a+b)(c-4) are not automatically multiplied.
  3528.  
  3529.  The left division a\b is equivalent to b/a.
  3530. ≡expressions operators ternary
  3531. ≡operators ternary
  3532. ≡ternary
  3533.  ┌──────────────────────────────────────────────────────────────────────┐
  3534.  │   Ternary Operators                                                  │
  3535.  └──────────────────────────────────────────────────────────────────────┘
  3536.  
  3537.  The following is a list of the ternary operator and its usage:
  3538.  
  3539.           symbol             example              explanation
  3540.  
  3541.            ≡:                 a≡b:c              * ternary operation
  3542.  
  3543.           (*) Operator requires an integer argument.
  3544.  
  3545.  The ternary operator evaluates its first argument (a).  If it is true
  3546.  (non-zero) the second argument (b) is evaluated and returned, otherwise
  3547.  the third argument (c) is evaluated and returned.
  3548. ≡expressions operators unary
  3549. ≡operators unary
  3550. ≡unary
  3551.  ┌──────────────────────────────────────────────────────────────────────┐
  3552.  │   Unary Operators                                                    │
  3553.  └──────────────────────────────────────────────────────────────────────┘
  3554.  
  3555.      The following is a list of all the unary operators and their usage:
  3556.  
  3557.           symbol             example              explanation
  3558.  
  3559.            -                  -a                   unary minus
  3560.            ~                  ~a                 * one's complement
  3561.            !                  !a                 * logical negation
  3562.            !                  a!                 * factorial
  3563.  
  3564.           (*) Operator requires an integer argument.
  3565.  
  3566.  The factorial operator returns a real number to allow a greater range.
  3567. ≡probability
  3568.  ┌──────────────────────────────────────────────────────────────────────┐
  3569.  │   Probability Distribution Functions                                 │
  3570.  └──────────────────────────────────────────────────────────────────────┘
  3571.  
  3572.  Probability distribution functions are used in the mathematics areas of
  3573.  probability and statistics.  If an experiment can occur in 'n' mutually
  3574.  exclusive and equally likely ways, and if exactly 'm' of these ways
  3575.  correspond to an event 'E', then the probability of 'E' is given by
  3576.  
  3577.             m
  3578.      P(E) = -.
  3579.             n
  3580.  
  3581.  The probability that the value of a random variable 'X' is less than or
  3582.  equal to some real number 'x' is defined as
  3583.  
  3584.      F(x) = P(X ≤ x), -∞ < x < ∞
  3585.           = integral(-∞ to x) f(x) dx
  3586.  
  3587.  where f(x) is called the probability density of the random variable X.
  3588.  
  3589.  Graphica implements 20 probability distribution functions.  Refer to
  3590.  a good statistics textbook for details.  The functions are:
  3591.  
  3592.    Binomial distribution                            y = bdtr( k, n, p )
  3593.    Complemented Binomial distribution               y = bdtrc( k, n, p )
  3594.    Inverse Binomial distribution                    p = bdtri( k, n, y )
  3595.  
  3596.    Negative Binomial distribution                   y = nbdtr( k, n, p )
  3597.    Complemented Negative Binomial distribution      y = nbdtrc( k, n, p )
  3598.  
  3599.    Beta distribution                                y = btdtr( a, b, x )
  3600.  
  3601.    Chi-square distribution                          y = chdtr( df, x )
  3602.    Complemented Chi-square distribution             y = chdtrc( v, x )
  3603.    Inverse of Complemented Chi-square distribution  x = chdtri( df, y )
  3604.  
  3605.    F distribution                                   y = fdtr( df1, df2, x )
  3606.    Complemented F distribution                      y = fdtrc( df1, df2, x )
  3607.    Inverse of Complemented F distribution           x = fdtri( df1, df2, y )
  3608.  
  3609.    Gamma distribution                               y = gdtr( a, b, x )
  3610.    Complemented Gamma distribution                  y = gdtrc( a, b, x )
  3611.  
  3612.    Normal distribution                              y = ndtr( x )
  3613.    Inverse of Normal distribution                   x = ndtri( y )
  3614.  
  3615.    Poisson distribution                             y = pdtr( k, m )
  3616.    Complemented Poisson distribution                y = pdtrc( k, m )
  3617.    Inverse Poisson distribution                     m = pdtri( k, y )
  3618.  
  3619.    Student's t distribution                         y = stdtr( k, t )
  3620.  
  3621.  Also see BDTR, BDTRC, BDTRI, NBDTR, NBDTRC, BTDTR, CHDTR, CHDTRC,
  3622.  CHDTRI, FDTR, FDTRC, FDTRI, GDTR, GDTRC, NDTR, NDTRI, PDTR, PDTRC,
  3623.  PDTRI, and STDTR for more details.
  3624. ≡expressions functions bdtr
  3625. ≡functions bdtr
  3626. ≡bdtr
  3627.  ┌──────────────────────────────────────────────────────────────────────┐
  3628.  │   bdtr                                                               │
  3629.  └──────────────────────────────────────────────────────────────────────┘
  3630.  
  3631.  Description:
  3632.  
  3633.  bdtr(k,n,p) returns the sum of the terms 0 through k of the Binomial
  3634.  probability density:
  3635.  
  3636.      k
  3637.      --  ( n )   j      n-j
  3638.      >   (   )  p  (1-p)
  3639.      --  ( j )
  3640.      j=0
  3641.  
  3642.  The terms are not summed directly;  instead the incomplete beta
  3643.  integral is employed, according to the formula
  3644.  
  3645.      y = bdtr( k, n, p ) = ibeta( n-k, k+1, 1-p ).
  3646.  
  3647.  The arguments must be positive, with p ranging from 0 to 1.
  3648.  
  3649.  Also see FUNCTIONS and PROBABILITY.
  3650. ≡expressions functions bdtrc
  3651. ≡functions bdtrc
  3652. ≡bdtrc
  3653.  ┌──────────────────────────────────────────────────────────────────────┐
  3654.  │   bdtrc                                                              │
  3655.  └──────────────────────────────────────────────────────────────────────┘
  3656.  
  3657.  Description:
  3658.  
  3659.  bdtrc(k,n,p) returns the sum of the terms k+1 through n of the Binomial
  3660.  probability density:
  3661.  
  3662.      n
  3663.      --  ( n )   j      n-j
  3664.      >   (   )  p  (1-p)
  3665.      --  ( j )
  3666.      j=k+1
  3667.  
  3668.  The terms are not summed directly;  instead the incomplete beta integral
  3669.  is employed, according to the formula
  3670.   
  3671.      y = bdtrc( k, n, p ) = ibeta( k+1, n-k, p ).
  3672.   
  3673.  The arguments must be positive, with p ranging from 0 to 1.
  3674.  
  3675.  Also see FUNCTIONS and PROBABILITY.
  3676. ≡expressions functions bdtri
  3677. ≡functions bdtri
  3678. ≡bdtri
  3679.  ┌──────────────────────────────────────────────────────────────────────┐
  3680.  │   bdtri                                                              │
  3681.  └──────────────────────────────────────────────────────────────────────┘
  3682.  
  3683.  Description:
  3684.  
  3685.  bdtri(k,n,y) finds the event probability p such that the sum of the
  3686.  terms 0 through k of the Binomial probability density is equal to the
  3687.  given cumulative probability y.  This is accomplished using the inverse
  3688.  beta integral function and the relation
  3689.  
  3690.      1 - p = ibetai( n-k, k+1, y ).
  3691.  
  3692.  Also see FUNCTIONS and PROBABILITY.
  3693. ≡expressions functions nbdtr
  3694. ≡functions nbdtr
  3695. ≡nbdtr
  3696.  ┌──────────────────────────────────────────────────────────────────────┐
  3697.  │   nbdtr                                                              │
  3698.  └──────────────────────────────────────────────────────────────────────┘
  3699.  
  3700.  Description:
  3701.  
  3702.  nbdtr(k,n,p) returns the sum of the terms 0 through k of the negative
  3703.  binomial distribution:
  3704.  
  3705.      k
  3706.      --  ( n+j-1 )   n      j
  3707.      >   (       )  p  (1-p)
  3708.      --  (   j   )
  3709.      j=0
  3710.  
  3711.  In a sequence of Bernoulli trials, this is the probability that k or
  3712.  fewer failures precede the nth success.
  3713.  
  3714.  The terms are not computed individually;  instead the incomplete beta
  3715.  integral is employed, according to the formula
  3716.  
  3717.      y = nbdtr( k, n, p ) = ibeta( n, k+1, p ).
  3718.  
  3719.  The arguments must be positive, with p ranging from 0 to 1.
  3720.  
  3721.  Also see FUNCTIONS and PROBABILITY.
  3722. ≡expressions functions nbdtrc
  3723. ≡functions nbdtrc
  3724. ≡nbdtrc
  3725.  ┌──────────────────────────────────────────────────────────────────────┐
  3726.  │   nbdtrc                                                             │
  3727.  └──────────────────────────────────────────────────────────────────────┘
  3728.  
  3729.  Description:
  3730.  
  3731.  nbdtrc(k,n,p) returns the sum of the terms k+1 to infinity of the negative
  3732.  binomial distribution:
  3733.  
  3734.      inf
  3735.      --  ( n+j-1 )   n      j
  3736.      >   (       )  p  (1-p)
  3737.      --  (   j   )
  3738.      j=k+1
  3739.   
  3740.  The terms are not computed individually;  instead the incomplete beta
  3741.  integral is employed, according to the formula
  3742.   
  3743.      y = nbdtrc( k, n, p ) = ibeta( k+1, n, 1-p ).
  3744.   
  3745.  The arguments must be positive, with p ranging from 0 to 1.
  3746.  
  3747.  Also see FUNCTIONS and PROBABILITY.
  3748. ≡expressions functions btdtr
  3749. ≡functions btdtr
  3750. ≡btdtr
  3751.  ┌──────────────────────────────────────────────────────────────────────┐
  3752.  │   btdtr                                                              │
  3753.  └──────────────────────────────────────────────────────────────────────┘
  3754.  
  3755.  Description:
  3756.  
  3757.  btdtr(a,b,x) returns the area from zero to x under the beta density
  3758.  function:
  3759.                               x
  3760.                 -             -
  3761.                | (a+b)       | |  a-1      b-1
  3762.      P(x)  =  ----------     |   t    (1-t)    dt
  3763.                -     -     | |
  3764.               | (a) | (b)   -
  3765.                              0
  3766.  
  3767.  This function is identical to the incomplete beta integral function
  3768.  ibeta(a, b, x).
  3769.   
  3770.  The complemented function is
  3771.   
  3772.      1 - P(1-x) = ibeta( b, a, x )
  3773.  
  3774.  Also see FUNCTIONS and PROBABILITY.
  3775. ≡expressions functions chdtr
  3776. ≡functions chdtr
  3777. ≡chdtr
  3778.  ┌──────────────────────────────────────────────────────────────────────┐
  3779.  │   chdtr                                                              │
  3780.  └──────────────────────────────────────────────────────────────────────┘
  3781.  
  3782.  Description:
  3783.  
  3784.  chdtr(df,x) returns the area under the left hand tail (from 0 to x) of
  3785.  the Chi square probability density function with v degrees of freedom.
  3786.   
  3787.                                      inf.
  3788.                                        -
  3789.                            1          | |  v/2-1  -t/2
  3790.      P( x | v )   =   -----------     |   t      e     dt
  3791.                        v/2  -       | |
  3792.                       2    | (v/2)   -
  3793.                                       x
  3794.  
  3795.  where x is the Chi-square variable.
  3796.   
  3797.  The incomplete gamma integral is used, according to the formula
  3798.   
  3799.      y = chdtr( v, x ) = igamma( v/2.0, x/2.0 ).
  3800.   
  3801.  The arguments must both be positive.
  3802.  
  3803.  Also see FUNCTIONS and PROBABILITY.
  3804. ≡expressions functions chdtrc
  3805. ≡functions chdtrc
  3806. ≡chdtrc
  3807.  ┌──────────────────────────────────────────────────────────────────────┐
  3808.  │   chdtrc                                                             │
  3809.  └──────────────────────────────────────────────────────────────────────┘
  3810.  
  3811.  Description:
  3812.  
  3813.  chdtrc(v,x) returns the area under the right hand tail (from x to
  3814.  infinity) of the Chi square probability density function with v
  3815.  degrees of freedom:
  3816.                                      inf.
  3817.                                        -
  3818.                            1          | |  v/2-1  -t/2
  3819.      P( x | v )   =   -----------     |   t      e     dt
  3820.                        v/2  -       | |
  3821.                       2    | (v/2)   -
  3822.                                       x
  3823.  
  3824.  where x is the Chi-square variable.
  3825.   
  3826.  The incomplete gamma integral is used, according to the formula
  3827.   
  3828.      y = chdtr( v, x ) = igamc( v/2.0, x/2.0 ).
  3829.   
  3830.  The arguments must both be positive.
  3831.  
  3832.  Also see FUNCTIONS and PROBABILITY.
  3833. ≡expressions functions chdtri
  3834. ≡functions chdtri
  3835. ≡chdtri
  3836.  ┌──────────────────────────────────────────────────────────────────────┐
  3837.  │   chdtri                                                             │
  3838.  └──────────────────────────────────────────────────────────────────────┘
  3839.  
  3840.  Description:
  3841.  
  3842.  chdtri(df,y) finds the Chi-square argument x such that the integral
  3843.  from x to infinity of the Chi-square density is equal to the given
  3844.  cumulative probability y.
  3845.  
  3846.  This is accomplished using the inverse gamma integral function and
  3847.  the relation
  3848.  
  3849.      x/2 = igami( df/2, y )
  3850.  
  3851.  Also see FUNCTIONS and PROBABILITY.
  3852. ≡expressions functions fdtr
  3853. ≡functions fdtr
  3854. ≡fdtr
  3855.  ┌──────────────────────────────────────────────────────────────────────┐
  3856.  │   fdtr                                                               │
  3857.  └──────────────────────────────────────────────────────────────────────┘
  3858.  
  3859.  Description:
  3860.  
  3861.  fdtr(df1,df2,x) returns the area from zero to x under the F density
  3862.  function (also known as Snedcor's density or the variance ratio density).
  3863.  This is the density of x = (u1/df1)/(u2/df2), where u1 and u2 are random
  3864.  variables having Chi square distributions with df1 and df2 degrees of
  3865.  freedom, respectively.
  3866.  
  3867.  The incomplete beta integral is used, according to the formula
  3868.  
  3869.      P(x) = ibeta( df1/2, df2/2, (df1*x/(df2 + df1*x) ).
  3870.  
  3871.  The arguments a and b are greater than zero, and x x is nonnegative.
  3872.  
  3873.  Also see FUNCTIONS and PROBABILITY.
  3874. ≡expressions functions fdtrc
  3875. ≡functions fdtrc
  3876. ≡fdtrc
  3877.  ┌──────────────────────────────────────────────────────────────────────┐
  3878.  │   fdtrc                                                              │
  3879.  └──────────────────────────────────────────────────────────────────────┘
  3880.  
  3881.  Description:
  3882.  
  3883.  fdtrc(df1,df2,x) returns the area from x to infinity under the F density
  3884.  function (also known as Snedcor's density or the variance ratio density).
  3885.  
  3886.                         inf.
  3887.                          -
  3888.                 1       | |  a-1      b-1
  3889.    1-P(x)  =  ------    |   t    (1-t)    dt
  3890.               B(a,b)  | |
  3891.                        -
  3892.                         x
  3893.   
  3894.  The incomplete beta integral is used, according to the formula
  3895.   
  3896.      P(x) = ibeta( df2/2, df1/2, (df2/(df2 + df1*x) ).
  3897.   
  3898.  Also see FUNCTIONS and PROBABILITY.
  3899. ≡expressions functions fdtri
  3900. ≡functions fdtri
  3901. ≡fdtri
  3902.  ┌──────────────────────────────────────────────────────────────────────┐
  3903.  │   fdtri                                                              │
  3904.  └──────────────────────────────────────────────────────────────────────┘
  3905.  
  3906.  Description:
  3907.  
  3908.  fdtri(df1,df2,y) returns the F density argument x such that the integral
  3909.  from x to infinity of the F density is equal to the given probability y.
  3910.  
  3911.    This is accomplished using the inverse beta integral
  3912.    function and the relations
  3913.   
  3914.         z = ibetai( df2/2, df1/2, y )
  3915.         x = df2 (1-z) / (df1 z).
  3916.   
  3917.    Note: the following relations hold for the inverse of
  3918.    the uncomplemented F distribution:
  3919.   
  3920.         z = ibetai( df1/2, df2/2, y )
  3921.         x = df2 z / (df1 (1-z)).
  3922.  
  3923.  Also see FUNCTIONS and PROBABILITY.
  3924. ≡expressions functions gdtr
  3925. ≡functions gdtr
  3926. ≡gdtr
  3927.  ┌──────────────────────────────────────────────────────────────────────┐
  3928.  │   gdtr                                                               │
  3929.  └──────────────────────────────────────────────────────────────────────┘
  3930.  
  3931.  Description:
  3932.  
  3933.  gdtr(a,b,x) returns the integral from zero to x of the gamma probability
  3934.  density function:
  3935.   
  3936.                   x
  3937.           b       -
  3938.          a       | |   b-1  -at
  3939.    y =  -----    |    t    e    dt
  3940.          -     | |
  3941.         | (b)   -
  3942.                  0
  3943.  
  3944.  The incomplete gamma integral is used, according to the relation
  3945.   
  3946.      y = igamma( b, ax ).
  3947.  
  3948.  Also see FUNCTIONS and PROBABILITY.
  3949. ≡expressions functions gdtrc
  3950. ≡functions gdtrc
  3951. ≡gdtrc
  3952.  ┌──────────────────────────────────────────────────────────────────────┐
  3953.  │   gdtrc                                                              │
  3954.  └──────────────────────────────────────────────────────────────────────┘
  3955.  
  3956.  Description:
  3957.  
  3958.  gdtrc(a,b,x) returns the integral from x to infinity of the gamma
  3959.  probability density function:
  3960.   
  3961.                  inf.
  3962.           b       -
  3963.          a       | |   b-1  -at
  3964.    y =  -----    |    t    e    dt
  3965.          -     | |
  3966.         | (b)   -
  3967.                  x
  3968.  
  3969.  The incomplete gamma integral is used, according to the relation
  3970.   
  3971.      y = igamc( b, ax ).
  3972.  
  3973.  Also see FUNCTIONS and PROBABILITY.
  3974. ≡expressions functions ndtr
  3975. ≡functions ndtr
  3976. ≡ndtr
  3977.  ┌──────────────────────────────────────────────────────────────────────┐
  3978.  │   ndtr                                                               │
  3979.  └──────────────────────────────────────────────────────────────────────┘
  3980.  
  3981.  Description:
  3982.  
  3983.  ndtr(x) returns the area under the Gaussian probability density
  3984.  function, integrated from minus infinity to x:
  3985.   
  3986.                               x
  3987.                                -
  3988.                      1        | |          2
  3989.       ndtr(x)  = ---------    |    exp( - t /2 ) dt
  3990.                  sqrt(2pi)  | |
  3991.                              -
  3992.                             -inf.
  3993.   
  3994.                =  ( 1 + erf(z) ) / 2
  3995.                =  erfc(z) / 2
  3996.   
  3997.  where z = x/sqrt(2).  Computation is via the functions erf and erfc.
  3998.  
  3999.  Also see FUNCTIONS and PROBABILITY.
  4000. ≡expressions functions ndtri
  4001. ≡functions ndtri
  4002. ≡ndtri
  4003.  ┌──────────────────────────────────────────────────────────────────────┐
  4004.  │   ndtri                                                              │
  4005.  └──────────────────────────────────────────────────────────────────────┘
  4006.  
  4007.  Description:
  4008.  
  4009.  ndtri(y) returns the argument, x, for which the area under the Gaussian
  4010.  probability density function (integrated from minus infinity to x) is
  4011.  equal to y.
  4012.  
  4013.  Also see FUNCTIONS and PROBABILITY.
  4014. ≡expressions functions pdtr
  4015. ≡functions pdtr
  4016. ≡pdtr
  4017.  ┌──────────────────────────────────────────────────────────────────────┐
  4018.  │   pdtr                                                               │
  4019.  └──────────────────────────────────────────────────────────────────────┘
  4020.  
  4021.  Description:
  4022.  
  4023.  pdtr(k,m) returns the sum of the first k terms of the Poisson
  4024.  distribution:
  4025.   
  4026.      k       j
  4027.      --   -m  m
  4028.      >   e    --
  4029.      --     j!
  4030.     j=0
  4031.   
  4032.  The terms are not summed directly;  instead the incomplete gamma integral
  4033.  is employed, according to the relation
  4034.   
  4035.      y = pdtr( k, m ) = igamc( k+1, m ).
  4036.   
  4037.  The arguments must both be positive.
  4038.  
  4039.  Also see FUNCTIONS and PROBABILITY.
  4040. ≡expressions functions pdtrc
  4041. ≡functions pdtrc
  4042. ≡pdtrc
  4043.  ┌──────────────────────────────────────────────────────────────────────┐
  4044.  │   pdtrc                                                              │
  4045.  └──────────────────────────────────────────────────────────────────────┘
  4046.  
  4047.  Description:
  4048.  
  4049.  pdtrc(k,m) returns the sum of the terms k+1 to infinity of the Poisson
  4050.  distribution:
  4051.   
  4052.     inf.       j
  4053.      --   -m  m
  4054.      >   e    --
  4055.      --       j!
  4056.     j=k+1
  4057.   
  4058.  The terms are not summed directly;  instead the incomplete gamma integral
  4059.  is employed, according to the formula
  4060.   
  4061.      y = pdtrc( k, m ) = igamma( k+1, m ).
  4062.   
  4063.  The arguments must both be positive.
  4064.  
  4065.  Also see FUNCTIONS and PROBABILITY.
  4066. ≡expressions functions pdtri
  4067. ≡functions pdtri
  4068. ≡pdtri
  4069.  ┌──────────────────────────────────────────────────────────────────────┐
  4070.  │   pdtri                                                              │
  4071.  └──────────────────────────────────────────────────────────────────────┘
  4072.  
  4073.  Description:
  4074.  
  4075.  pdtri(k,y) finds the Poisson variable x such that the integral from
  4076.  0 to x of the Poisson density is equal to the given probability y.
  4077.  
  4078.  This is accomplished using the inverse gamma integral function and
  4079.  the relation m = igami( k+1, y ).
  4080.  
  4081.  Also see FUNCTIONS and PROBABILITY.
  4082. ≡expressions functions stdtr
  4083. ≡functions stdtr
  4084. ≡stdtr
  4085.  ┌──────────────────────────────────────────────────────────────────────┐
  4086.  │   stdtr                                                              │
  4087.  └──────────────────────────────────────────────────────────────────────┘
  4088.  
  4089.  Description:
  4090.  
  4091.  stdtr(k,t) computes the integral from minus infinity to t of the Student
  4092.  t distribution with integer k > 0 degrees of freedom:
  4093.   
  4094.                                         t
  4095.                                         -
  4096.                                        | |
  4097.                 -                      |         2   -(k+1)/2
  4098.                | ( (k+1)/2 )           |  (     x   )
  4099.          ----------------------        |  ( 1 + --- )        dx
  4100.                        -               |  (      k  )
  4101.          sqrt( k pi ) | ( k/2 )        |
  4102.                                      | |
  4103.                                       -
  4104.                                      -inf.
  4105.    
  4106.  Relation to incomplete beta integral:
  4107.   
  4108.      1 - stdtr(k,t) = 0.5 * ibeta( k/2, 1/2, z )
  4109.  where
  4110.      z = k/(k + t**2).
  4111.   
  4112.  Also see FUNCTIONS and PROBABILITY.
  4113. ≡bessel
  4114.  ┌──────────────────────────────────────────────────────────────────────┐
  4115.  │   Bessel Functions                                                   │
  4116.  └──────────────────────────────────────────────────────────────────────┘
  4117.  
  4118.  Description:
  4119.  
  4120.  Bessel functions arise in solving differential equations for systems
  4121.  with cylindrical symmetry.
  4122.  
  4123.  Jn(x) is often called the Bessel function of the first kind, or simply
  4124.  the Bessel function.  Yn(x) is referred to as the Bessel function of
  4125.  the second kind, the Weber function, or the Newmann function.  In(x)
  4126.  and Kn(x) are modified Bessel functions.  They are equivalent to the
  4127.  usual Bessel functions Jn and Yn evaluated for purely imaginary
  4128.  arguments.
  4129.  
  4130.  Twelve Bessel functions are provided with Graphica: besi0, besi1,
  4131.  besin, besj0, besj1, besjn, besk0, besk1, beskn, besy0, besy1 and besyn.
  4132.  
  4133.  For example, besi0(x) returns the modified Bessel function I0 of x,
  4134.  besj1(x) returns the Bessel function J1 of x, and besyn(n,x) returns
  4135.  the Bessel function Y of general integer order n (n>1).
  4136.  
  4137.  All Bessel functions expect x to be in radians.
  4138.  
  4139.  Also see BESI0, BESI1, BESIN, BESJ0, BESJ1, BESJN, BESK0, BESK1, BESKN,
  4140.  BESY0, BESY1, and BESYN for more details.
  4141. ≡expressions functions besi0
  4142. ≡functions besi0
  4143. ≡besi0
  4144.  ┌──────────────────────────────────────────────────────────────────────┐
  4145.  │   besi0                                                              │
  4146.  └──────────────────────────────────────────────────────────────────────┘
  4147.  
  4148.  Description:
  4149.  
  4150.  besi0(x) returns the i0th (modified) Bessel function of x, where x
  4151.  is in radians.
  4152.  
  4153.  Also see BESSEL and FUNCTIONS.
  4154. ≡expressions functions besi1
  4155. ≡functions besi1
  4156. ≡besi1
  4157.  ┌──────────────────────────────────────────────────────────────────────┐
  4158.  │   besi1                                                              │
  4159.  └──────────────────────────────────────────────────────────────────────┘
  4160.  
  4161.  Description:
  4162.  
  4163.  besi1(x) returns the i1st (modified) Bessel function of x, where x
  4164.  is in radians.
  4165.  
  4166.  Also see BESSEL and FUNCTIONS.
  4167. ≡expressions functions besin
  4168. ≡functions besin
  4169. ≡besin
  4170.  ┌──────────────────────────────────────────────────────────────────────┐
  4171.  │   besin                                                              │
  4172.  └──────────────────────────────────────────────────────────────────────┘
  4173.  
  4174.  Description:
  4175.  
  4176.  besin(n,x) returns the inth (modified) Bessel function of x, where x
  4177.  is in radians and n > 1.
  4178.  
  4179.  Also see BESSEL and FUNCTIONS.
  4180. ≡expressions functions besj0
  4181. ≡functions besj0
  4182. ≡besj0
  4183.  ┌──────────────────────────────────────────────────────────────────────┐
  4184.  │   besj0                                                              │
  4185.  └──────────────────────────────────────────────────────────────────────┘
  4186.  
  4187.  Description:
  4188.  
  4189.  besj0(x) returns the j0th Bessel function of x, where x is in radians.
  4190.  
  4191.  Also see BESSEL and FUNCTIONS.
  4192. ≡expressions functions besj1
  4193. ≡functions besj1
  4194. ≡besj1
  4195.  ┌──────────────────────────────────────────────────────────────────────┐
  4196.  │   besj1                                                              │
  4197.  └──────────────────────────────────────────────────────────────────────┘
  4198.  
  4199.  Description:
  4200.  
  4201.  besj1(x) returns the j1st Bessel function of x, where x is in radians.
  4202.  
  4203.  Also see BESSEL and FUNCTIONS.
  4204. ≡expressions functions besjn
  4205. ≡functions besjn
  4206. ≡besjn
  4207.  ┌──────────────────────────────────────────────────────────────────────┐
  4208.  │   besjn                                                              │
  4209.  └──────────────────────────────────────────────────────────────────────┘
  4210.  
  4211.  Description:
  4212.  
  4213.  besjn(n,x) returns the jnth Bessel function of x, where x is in
  4214.  radians and n > 1.
  4215.  
  4216.  Also see BESSEL and FUNCTIONS.
  4217. ≡expressions functions besk0
  4218. ≡functions besk0
  4219. ≡besk0
  4220.  ┌──────────────────────────────────────────────────────────────────────┐
  4221.  │   besk0                                                              │
  4222.  └──────────────────────────────────────────────────────────────────────┘
  4223.  
  4224.  Description:
  4225.  
  4226.  besk0(x) returns the k0th (modified) Bessel function of x, where x
  4227.  is in radians.
  4228.  
  4229.  Also see BESSEL and FUNCTIONS.
  4230. ≡expressions functions besk1
  4231. ≡functions besk1
  4232. ≡besk1
  4233.  ┌──────────────────────────────────────────────────────────────────────┐
  4234.  │   besk1                                                              │
  4235.  └──────────────────────────────────────────────────────────────────────┘
  4236.  
  4237.  Description:
  4238.  
  4239.  besk1(x) returns the k1st (modified) Bessel function of x, where x
  4240.  is in radians.
  4241.  
  4242.  Also see BESSEL and FUNCTIONS.
  4243. ≡expressions functions beskn
  4244. ≡functions beskn
  4245. ≡beskn
  4246.  ┌──────────────────────────────────────────────────────────────────────┐
  4247.  │   beskn                                                              │
  4248.  └──────────────────────────────────────────────────────────────────────┘
  4249.  
  4250.  Description:
  4251.  
  4252.  beskn(n,x) returns the knth (modified) Bessel function of x, where x
  4253.  is in radians and n > 1.
  4254.  
  4255.  Also see BESSEL and FUNCTIONS.
  4256. ≡expressions functions besy0
  4257. ≡functions besy0
  4258. ≡besy0
  4259.  ┌──────────────────────────────────────────────────────────────────────┐
  4260.  │   besy0                                                              │
  4261.  └──────────────────────────────────────────────────────────────────────┘
  4262.  
  4263.  Description:
  4264.  
  4265.  besy0(x) returns the y0th Bessel function of x, where x is in radians.
  4266.  
  4267.  Also see BESSEL and FUNCTIONS.
  4268. ≡expressions functions besy1
  4269. ≡functions besy1
  4270. ≡besy1
  4271.  ┌──────────────────────────────────────────────────────────────────────┐
  4272.  │   besy1                                                              │
  4273.  └──────────────────────────────────────────────────────────────────────┘
  4274.  
  4275.  Description:
  4276.  
  4277.  besy1(x) returns the y1st Bessel function of x, where x is in radians.
  4278.  
  4279.  Also see BESSEL and FUNCTIONS.
  4280. ≡expressions functions besyn
  4281. ≡functions besyn
  4282. ≡besyn
  4283.  ┌──────────────────────────────────────────────────────────────────────┐
  4284.  │   besyn                                                              │
  4285.  └──────────────────────────────────────────────────────────────────────┘
  4286.  
  4287.  Description:
  4288.  
  4289.  besyn(n,x) returns the ynth (modified) Bessel function of x, where x
  4290.  is in radians and n > 1.
  4291.  
  4292.  Also see BESSEL and FUNCTIONS.
  4293. ≡environment
  4294.  ┌──────────────────────────────────────────────────────────────────────┐
  4295.  │   Environment Variables                                              │
  4296.  └──────────────────────────────────────────────────────────────────────┘
  4297.  
  4298.  An environment variable is used to specify from the operating system
  4299.  certain parameters of program operation.  The "environment" is really
  4300.  just a common area of memory that programs can write to and read from.
  4301.  Some programs are geared to look specifically at the environment to find
  4302.  particular data important to their operation.  They may ask you to place
  4303.  a variable into the environment equal to a certain value so that they
  4304.  can find support files which could not be found otherwise.
  4305.  
  4306.  A number of shell environment variables are understood by Graphica.
  4307.  None of these are required, but may be useful:
  4308.  
  4309.      - GRAPTERM
  4310.      - GRAPDUMP
  4311.      - GRAPHELP
  4312.      - GRAPHINI
  4313.      - GRAPFONT
  4314.  
  4315.  GRAPTERM may be used as the name of the terminal type to be used.  This
  4316.  overrides any terminal type sensed by Graphica on start up, but is itself
  4317.  overridden by the 'graphica.ini' or other start-up file, and of course by
  4318.  later explicit changes.
  4319.  
  4320.  GRAPDUMP is used as the default terminal type used when dumping graphics
  4321.  to a file.
  4322.  
  4323.  GRAPHELP may be defined to be the pathname of the help file.  If this
  4324.  environment variable is not defined, Graphica will try to look for the
  4325.  help file somewhere in your DOS path.  If the help file can't be found,
  4326.  you have no on-line help available.
  4327.  
  4328.  GRAPHINI may be used as the pathname of a startup-up file.  The default
  4329.  name is 'graphica.ini' on DOS/VAX systems and '.graphica' on UNIX.  The
  4330.  DOS version of Graphica will use the entire search path to look for it.
  4331.  
  4332.  GRAPFONT specifies where Graphica's font files are located.  If the
  4333.  font files are not somewhere in your DOS path, you may specify an
  4334.  environment variable called GRAPFONT containing the font directory.
  4335.  For example, if the fonts are in C:\GRAPHICA\FONTS, then you would
  4336.  specify,
  4337.  
  4338.      SET GRAPFONT=C:\GRAPHICA\FONTS
  4339.  
  4340.  somewhere in your autoexec.bat file or in a batch file just before
  4341.  running Graphica.  Graphica will then find the necessary font file
  4342.  in that directory and load it at runtime.
  4343.  
  4344.  DOS Environment Variables
  4345.  -------------------------
  4346.  
  4347.  If we were to look at the DOS environment (by typing the SET command
  4348.  at the DOS prompt), we might see a listing similar to the one below:
  4349.  
  4350.      COMSPEC=C:\COMMAND.COM
  4351.      PATH=C:\;C:\DOS;C:\UTIL
  4352.  
  4353.  Other values might be present, like PROMPT=$P$G, and more depending
  4354.  on the types and kinds of software you are running.
  4355.  
  4356.  Environment variables are specified before running Graphica.  They
  4357.  can be specified directly from DOS, from within the AUTOEXEC.BAT file,
  4358.  or from within any batch file.
  4359.  
  4360.  The command for setting an environment variable is:
  4361.  
  4362.      SET PARAMETER=PARAMETER VALUE
  4363.  
  4364.  Examples:
  4365.  
  4366.      C:\SET GRAPDUMP=hpgl                   (sets the dump terminal type)
  4367.      C:\SET GRAPHELP=c:\plot\graphica.hlp                 (the help file)
  4368.      C:\SET GRAPHINI=c:\plot\graphica.ini             (the start-up file)
  4369.      C:\SET GRAPFONT=C:\GRAPHICA\FONT                        (font files)
  4370.  
  4371.  In general, you won't have to set the DOS environment variable GRAPTERM if
  4372.  you have any of the commonly available graphics monitors, CGA/EGA/VGA, etc.
  4373.  
  4374.  VAX/VMS Logical Symbols
  4375.  -----------------------
  4376.  
  4377.  On a VAX, environment variables are called 'symbols.'  The format for
  4378.  defining a symbolic name for a character string is:
  4379.  
  4380.               symbol-name :== expression
  4381.  
  4382.  For example, we could define the following symbols:
  4383.  
  4384.      $ LIST :== "DIRECTORY"
  4385.      $ TIME :== "SHOW TIME"
  4386.      $ QP :== "SHOW QUEUE/DEVICE"
  4387.      $ SS :== "SHOW SYMBOL"
  4388.  
  4389.  To look at the environment, you may type SHOW SYMBOL/GLOBAL/ALL at the
  4390.  $ prompt).
  4391.  
  4392.  Examples:
  4393.  
  4394.      $ GRAPDUMP :== hpgl                       (sets the dump terminal type)
  4395.      $ GRAPTERM :== raster                          (sets the terminal type)
  4396.      $ GRAPHINI :== dua7:[user.junk]graph.ini            (the start-up file)
  4397.  
  4398.  (GRAPHELP should already have been defined for you.)
  4399.  
  4400.  Unix Shell Variables
  4401.  --------------------
  4402.  
  4403.  In a UNIX environment, things get a little bit confusing because of the
  4404.  different shells that you might be running.  Environment variables can
  4405.  be shown by using the 'printenv' command (Korn-shell or /bin/sh), the
  4406.  'setenv' command (c-shell or /bin/csh) or the 'AEGIS' command (Aegis
  4407.  shell on Apollos).  To set them, do
  4408.  
  4409.      $ GRAPTERM=apollo
  4410.      $ GRAPDUMP=postscript
  4411.      $ export GRAPDUMP
  4412.      $ export GRAPTERM
  4413.  
  4414.  Also see STARTUP.
  4415. ≡startup
  4416.  ┌──────────────────────────────────────────────────────────────────────┐
  4417.  │   Startup File                                                       │
  4418.  └──────────────────────────────────────────────────────────────────────┘
  4419.  
  4420.  When Graphica is run, it looks for an initialization file to load.
  4421.  This file is called 'graphica.ini'.  If this file is not found in the
  4422.  current directory (or entire search path on DOS systems), the program
  4423.  will look for a start-up file pointed to by the environment variable
  4424.  GRAPHINI.
  4425.  
  4426.  If the initialization file is found, Graphica executes the commands
  4427.  in that file.  This is most useful for setting your terminal type and
  4428.  defining any functions or variables which you use often.
  4429.  
  4430.  Also see ENVIRONMENT.
  4431. ≡text
  4432.  ┌──────────────────────────────────────────────────────────────────────┐
  4433.  │   Text Primitives                                                    │
  4434.  └──────────────────────────────────────────────────────────────────────┘
  4435.  
  4436.  Text primitives generate a string of characters on a display device
  4437.  in a specific location in the world coordinate system.  The character
  4438.  string may comprise letters, numerals, and symbols.  Text primitives
  4439.  provide a method for labeling and clarifying a graphical image.
  4440.  
  4441.  This section describes the control sequences which are accessible
  4442.  when specifying a string label.  The control sequences are only available
  4443.  when using a software generated font.  Graphica recognizes \ as a special
  4444.  character used to signal the start of an escape sequence.  There are two
  4445.  kinds of escape sequences, those that take an argument and those that do
  4446.  not.
  4447.  
  4448.  The two escape sequences that do not take an argument are:
  4449.  
  4450.      \U     move up half a character size
  4451.      \D     move down half a character size
  4452.  
  4453.  The following take one integer argument immediately after the escape
  4454.  sequence and a space after it to delineate the end (the space is not
  4455.  printed):
  4456.  
  4457.      \Cn    set color to n
  4458.      \C-1   reset color to the default
  4459.      \Fn    set font to n
  4460.      \F-1   reset font to the default
  4461.      \Sn    set character size to n % of the default size
  4462.      \S-1   reset character size to the default size
  4463.      \Ln    set character slant to n degrees
  4464.      \L-1   reset character slant to the default slant
  4465.      \An    print ascii n
  4466.      \rn    save current position in register n
  4467.      \Rn    restore position from register n
  4468.  
  4469.  Examples:
  4470.  
  4471.  to print greek characters such as in 'beta = x + lambda':
  4472.      » label '\F2 b\F1 = x + \F2 l'
  4473.  
  4474.  to label the x-axis with 'velocity U sub f':
  4475.      » xlabel 'velocity, U\Dsub'
  4476.  
  4477.  to place a top label of 'stress in dynes per cm squared':
  4478.      » top label 'stress (dyn\cm\U2\D)'
  4479.  
  4480.  to get 'x squared plus y squared':
  4481.      » label 'x\U2\D + y\U2'
  4482.  
  4483.  and finally, an advanced example.  To get 'A sub b sup beta':
  4484.      » label 'A\r1 \Db\R1 \U\F2 b'
  4485.  
  4486.  This last example is translated as: do A, save this spot, go down half,
  4487.  do b, restore the saved spot, go up half, switch to font 2 (greek simplex),
  4488.  do beta.  Notice the use of registers to stack characters on top of each
  4489.  other.
  4490.  
  4491.  To get a backslash, simply use one \.
  4492. ≡version
  4493.  Syntax:
  4494.  ┌──────────────────────────────────────────────────────────────────────┐
  4495.  │   version                                                            │
  4496.  └──────────────────────────────────────────────────────────────────────┘
  4497.  
  4498.  Description:
  4499.  
  4500.  The 'version' command displays:
  4501.  
  4502.      - your Graphica version number
  4503.      - pertinent copyright and other information
  4504.  
  4505.  Also on DOS systems:
  4506.  
  4507.      - the amount of system RAM available
  4508.      - the amount of disk space available in the current drive 
  4509. ≡what
  4510.  Syntax:
  4511.  ┌──────────────────────────────────────────────────────────────────────┐
  4512.  │   what                                                               │
  4513.  └──────────────────────────────────────────────────────────────────────┘
  4514.  
  4515.  Description:
  4516.  
  4517.  'what' shows a directory listing of the .plt files on the disk in the
  4518.  current directory.  Files with other extensions are not shown.
  4519.  
  4520.  Also see DEL, DIR, SHELL and TYPE.
  4521. ≡variables
  4522. ≡userdefined
  4523. ≡who
  4524.  User-defined function syntax:
  4525.  ┌──────────────────────────────────────────────────────────────────────┐
  4526.  │   <function-name>( <dummyvar 1> {, <dummyvar 2> } ) = <expression>   │
  4527.  │                                                                      │
  4528.  │   where                                                              │
  4529.  │   <expression> is defined in terms of <dummyvar 1> and <dummyvar 2>  │
  4530.  └──────────────────────────────────────────────────────────────────────┘
  4531.  
  4532.  User-defined variable syntax:
  4533.  ┌──────────────────────────────────────────────────────────────────────┐
  4534.  │   <variable-name> = <constant-expression>                            │
  4535.  │   variables                                                          │
  4536.  └──────────────────────────────────────────────────────────────────────┘
  4537.  
  4538.  Description:
  4539.  
  4540.  You may define your own functions and variables.  User-defined functions
  4541.  and variables may be used anywhere an expression is called for.  A function
  4542.  refers to a general expression and can take one or two arguments (dummy
  4543.  variables).
  4544.  
  4545.  The WHO or VARIABLES command lists all pre-defined and user-defined
  4546.  variables together with their values.
  4547.  
  4548.  The following variables have already been defined for you:
  4549.  
  4550.      pi      = 3.14159
  4551.      e       = 2.71828
  4552.      catalan = 0.91597
  4553.      degree  = 0.01745
  4554.      ufactor = 1.00000
  4555.      gamma   = 0.57721
  4556.      golden  = 1.61803
  4557.  
  4558.  where pi is the mathematical constant π, e is the exponential constant,
  4559.  catalan is Catalan's constant, degree gives the number of radians in one
  4560.  degree (pi/180), ufactor is a conversion factor used to convert from
  4561.  inches to user-defined units (cm and mm), gamma is Euler's constant,
  4562.  and golden is the golden ratio (1+sqrt(5))/2.  These constants have
  4563.  been predefined for you but you may change them (so they are really
  4564.  variables).
  4565.  
  4566.  Examples:
  4567.  
  4568.      » w = 2
  4569.      » q = floor(tan(pi/2 - 0.1))
  4570.      » f(x) = sin(w*x)
  4571.      » sinc(x) = sin(pi*x)/(pi*x)
  4572.      » delta(t) = (t == 0)
  4573.      » ramp(t) = (t > 0) ? t : 0
  4574.      » comb(n,k) = n!/(k!*(n-k)!)
  4575.  
  4576.  Note:  case matters, e.g., 'Alpha' is different from 'alpha'.
  4577.  Also see FUNCTIONS.
  4578. ≡nodisplay
  4579.  ┌──────────────────────────────────────────────────────────────────────┐
  4580.  │   nodisplay                                                          │
  4581.  └──────────────────────────────────────────────────────────────────────┘
  4582.  
  4583.  This command shuts off the display of the mouse position on DOS systems
  4584.  at the bottom right corner of the screen in graphics mode.
  4585. ≡tips
  4586.  ┌──────────────────────────────────────────────────────────────────────┐
  4587.  │   Tips                                                               │
  4588.  └──────────────────────────────────────────────────────────────────────┘
  4589.  
  4590.  Here some tips to help you get started with Graphica:
  4591.  
  4592.  - Pressing any key while the introductory screen is shown will turn
  4593.    it off and take you directly to the command line.
  4594.  
  4595.  - Use the arrow keys (up, down, right, left ) to recall previous
  4596.    commands or edit the current command line.
  4597.  
  4598.  - Type 'what' to get a list of all the *.plt script files you may
  4599.    have in the current directory.
  4600.  
  4601.  - You may put more than one command on a line--just separate each
  4602.    command by a semicolon, for example,
  4603.  
  4604.      » plot x y add ; column 3 is y ; plot x y connect
  4605.  
  4606.  - Pressing F1 calls up the help system.  Pressing F10 displays the
  4607.    graph on the screen.
  4608. ≡errors
  4609.  ┌──────────────────────────────────────────────────────────────────────┐
  4610.  │   Errors                                                             │
  4611.  └──────────────────────────────────────────────────────────────────────┘
  4612.  
  4613.  When Graphica encounters an error caused by an incorrect command in a
  4614.  script file or on the command line it will issue an error message.  If
  4615.  the bad command was in a script file, the line number will be given.
  4616.  
  4617.  You can type SHOW at the command line to see everything you've plotted
  4618.  so far.  You can also correct errors in a script file by "shelling" out
  4619.  to the OS or issue a $edit command (to invoke the editor from within
  4620.  Graphica for example) where 'edit' is the name of your favorite editor.
  4621. ≡bugs
  4622.  ┌──────────────────────────────────────────────────────────────────────┐
  4623.  │   Notes                                                              │
  4624.  └──────────────────────────────────────────────────────────────────────┘
  4625.  
  4626.  No text control characters (see HELP TEXT) when using the hardware font.
  4627.  
  4628.  Subscript/superscript size hasn't been implemented yet.  Use the \S
  4629.  command (described in TEXT) to change the character size of superscripts
  4630.  and subscripts.
  4631.  
  4632.  ┌──────────────────────────────────────────────────────────────────────┐
  4633.  │   Bug Reports                                                        │
  4634.  └──────────────────────────────────────────────────────────────────────┘
  4635.  
  4636.  Graphica is under constant revision, updating and being given expanded
  4637.  capabilities.  Prior to each release, the developer strives to verify new
  4638.  features and bug fixes through testing.  However, as inevitably happens
  4639.  with any software, some bugs do survive and show up in user runs.  Users
  4640.  can aid in the problem fixing process by following the guidelines below:
  4641.  
  4642.  a) Report any unusual messages, computed results, format overflows,
  4643.  etc.  even though the program appears to have terminated normally.
  4644.  
  4645.  b) For any abnormal program termination, save the input file and all
  4646.  output obtained by running the program.
  4647.  
  4648.  Reported problems will be fixed as quickly as possible.  In most
  4649.  instances, alternate methods or techniques of plot formulation and
  4650.  input are available to permit graphing despite the bug.  All problems
  4651.  encountered with Graphica should be reported to:
  4652.  
  4653.  ┌──────────────────────────────────────────────────────────────────────┐
  4654.  │   Antonio Montes      Internet address : antonio@amontes.fdc.iaf.nl  │
  4655.  │   Postbus 13          CompuServe userid: 71031,1162                  │
  4656.  │   2350 AA Leiderdorp                                                 │
  4657.  │   The Netherlands                                                    │
  4658.  └──────────────────────────────────────────────────────────────────────┘
  4659.