




                                M A T H P L O T



                     Mathematical Function Plotting Program

                             A "shareware" program



                               Phillip H. Sherrod

              Member, Association of Shareware Professionals (ASP)







          Mathplot allows you to specify mathematical functions  using
          ordinary  algebraic  expressions  and immediately plot them.
          Four  types  of  functions  may  be   specified:   cartesian
          (Y=f(X));  parametric  cartesian  (Y=f(T) and X=f(T)); polar
          (Radius=f(Angle)); and  parametric  polar  (Radius=f(T)  and
          Angle=f(T)).    Up   to   four   functions  may  be  plotted
          simultaneously.   Scaling   is   automatic.    Options   are
          available  to  control  axis display and labeling as well as
          grid lines.   Hard  copy  output  can  be  generated  to  HP
          LaserJet  printers  as  well as screen display.  Mathplot is
          an ideal tool for engineers, scientists,  math  and  science
          teachers,  and  anyone  else  who needs to quickly visualize
          mathematical functions.





                               Table of Contents



      1. Using Mathplot . . . . . . . . . . . . . . . . . . . . . . . .  1
        1.1 Introduction  . . . . . . . . . . . . . . . . . . . . . . .  1
        1.2 Installing Mathplot . . . . . . . . . . . . . . . . . . . .  1
        1.3 Getting Started . . . . . . . . . . . . . . . . . . . . . .  2
        1.4 Demonstration Command File  . . . . . . . . . . . . . . . .  4
        1.5 Command Editor  . . . . . . . . . . . . . . . . . . . . . .  4
          1.5.1 Function Keys . . . . . . . . . . . . . . . . . . . . .  4
          1.5.2 Control Characters  . . . . . . . . . . . . . . . . . .  4
        1.6 Function Specification  . . . . . . . . . . . . . . . . . .  4
          1.6.1 Arithmetic Operators  . . . . . . . . . . . . . . . . .  5
          1.6.2 Numeric Constants . . . . . . . . . . . . . . . . . . .  5
          1.6.3 Symbolic Constants  . . . . . . . . . . . . . . . . . .  5
          1.6.4 Parameter values  . . . . . . . . . . . . . . . . . . .  5
        1.7 Built in Functions  . . . . . . . . . . . . . . . . . . . .  6
        1.8 Function Types  . . . . . . . . . . . . . . . . . . . . . .  8
          1.8.1 Cartesian Functions . . . . . . . . . . . . . . . . . .  8
          1.8.2 Parametric Cartesian Functions  . . . . . . . . . . . .  9
          1.8.3 Polar Functions . . . . . . . . . . . . . . . . . . . .  9
          1.8.4 Parametric Polar Functions  . . . . . . . . . . . . . .  9
        1.9 Plotting Simultaneous Functions . . . . . . . . . . . . . . 10

      2. Mathplot Commands  . . . . . . . . . . . . . . . . . . . . . . 11
        2.1 Startup Command File  . . . . . . . . . . . . . . . . . . . 11
        2.2 Initialization file . . . . . . . . . . . . . . . . . . . . 11
        2.3 Command Arguments . . . . . . . . . . . . . . . . . . . . . 12
        2.4 Alphabetical List of Commands . . . . . . . . . . . . . . . 12
          2.4.1 AXES  . . . . . . . . . . . . . . . . . . . . . . . . . 12
          2.4.2 CALCULATE . . . . . . . . . . . . . . . . . . . . . . . 12
          2.4.3 CAXES . . . . . . . . . . . . . . . . . . . . . . . . . 12
          2.4.4 CFn . . . . . . . . . . . . . . . . . . . . . . . . . . 12
          2.4.5 CGRID . . . . . . . . . . . . . . . . . . . . . . . . . 13
          2.4.6 COLORBORDER . . . . . . . . . . . . . . . . . . . . . . 13
          2.4.7 COLOREDIT . . . . . . . . . . . . . . . . . . . . . . . 13
          2.4.8 COLORHEAD . . . . . . . . . . . . . . . . . . . . . . . 13
          2.4.9 COLORHELP . . . . . . . . . . . . . . . . . . . . . . . 13
          2.4.10 COLORHELPHEAD  . . . . . . . . . . . . . . . . . . . . 13
          2.4.11 COLORMESSAGE . . . . . . . . . . . . . . . . . . . . . 13
          2.4.12 COMMONSCALE  . . . . . . . . . . . . . . . . . . . . . 13
          2.4.13 CTITLE . . . . . . . . . . . . . . . . . . . . . . . . 14
          2.4.14 DATA . . . . . . . . . . . . . . . . . . . . . . . . . 14
          2.4.15 DISPLAY  . . . . . . . . . . . . . . . . . . . . . . . 14
          2.4.16 DO . . . . . . . . . . . . . . . . . . . . . . . . . . 14
          2.4.17 DOMAIN . . . . . . . . . . . . . . . . . . . . . . . . 14
          2.4.18 EXIT . . . . . . . . . . . . . . . . . . . . . . . . . 14
          2.4.19 GRID . . . . . . . . . . . . . . . . . . . . . . . . . 15
          2.4.20 HELP . . . . . . . . . . . . . . . . . . . . . . . . . 15
          2.4.21 LABEL  . . . . . . . . . . . . . . . . . . . . . . . . 15


                                       i

      Contents                                                          ii


          2.4.22 LIST . . . . . . . . . . . . . . . . . . . . . . . . . 15
          2.4.23 NUMPOINTS  . . . . . . . . . . . . . . . . . . . . . . 15
          2.4.24 ORIGIN . . . . . . . . . . . . . . . . . . . . . . . . 15
          2.4.25 Pn . . . . . . . . . . . . . . . . . . . . . . . . . . 15
          2.4.26 PAUSE  . . . . . . . . . . . . . . . . . . . . . . . . 15
          2.4.27 PDEVICE  . . . . . . . . . . . . . . . . . . . . . . . 16
          2.4.28 PRESOLUTION  . . . . . . . . . . . . . . . . . . . . . 16
          2.4.29 WIDTH  . . . . . . . . . . . . . . . . . . . . . . . . 16
          2.4.30 PLOT . . . . . . . . . . . . . . . . . . . . . . . . . 16
          2.4.31 PRINT  . . . . . . . . . . . . . . . . . . . . . . . . 16
          2.4.32 RESET  . . . . . . . . . . . . . . . . . . . . . . . . 16
          2.4.33 SAVE . . . . . . . . . . . . . . . . . . . . . . . . . 17
          2.4.34 TITLE  . . . . . . . . . . . . . . . . . . . . . . . . 17
          2.4.35 WAXES  . . . . . . . . . . . . . . . . . . . . . . . . 17
          2.4.36 WFn  . . . . . . . . . . . . . . . . . . . . . . . . . 17
          2.4.37 WGRID  . . . . . . . . . . . . . . . . . . . . . . . . 17

      3. Advanced Applications  . . . . . . . . . . . . . . . . . . . . 18
        3.1 Root Finding  . . . . . . . . . . . . . . . . . . . . . . . 18
        3.2 Multiple Domains  . . . . . . . . . . . . . . . . . . . . . 18
        3.3 Interesting Functions . . . . . . . . . . . . . . . . . . . 19
        3.4 "Artistic" Plots  . . . . . . . . . . . . . . . . . . . . . 20

      4. Use and Distribution of Mathplot . . . . . . . . . . . . . . . 21
        4.1 Copyright Notice  . . . . . . . . . . . . . . . . . . . . . 22
        4.2 Disclaimer  . . . . . . . . . . . . . . . . . . . . . . . . 22

      5. Other Software . . . . . . . . . . . . . . . . . . . . . . . . 23
        5.1 Nonlin  . . . . . . . . . . . . . . . . . . . . . . . . . . 23
        5.2 TSX-32 Operating System . . . . . . . . . . . . . . . . . . 24

      6. Software Order Form  . . . . . . . . . . . . . . . . . . . . . 25

      Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26






                                   Chapter 1

                                 Using Mathplot





      1.1 Introduction

      Mathplot is a program for IBM-PC computers which allows  interactive
      entry  and plotting of mathematical functions.  Some of the features
      of Mathplot are listed below:

        . Direct entry of complicated mathematical functions using  normal
          algebraic expressions with embedded operators and functions.

        . An  assortment  of  built-in  functions including trigonometric,
          square root, log,  Gamma,  Bessel,  elliptic  integrals,  normal
          probability distribution, etc.

        . The   ability   to  plot  four  types  of  functions:  cartesian
          (Y=f(X));  parametric  cartesian  (Y=f(T)  and  X=f(T));   polar
          (Radius=f(Angle));   and   parametric   polar  (Radius=f(T)  and
          Angle=f(T)).

        . The ability to simultaneously plot up to four functions.

        . Automatic scaling and axis labeling.

        . The ability to save function  specifications  in  command  files
          which then can be easily executed.

        . The ability to accept X-Y data points from an external file.

        . A command editor allows easy recall and editing of commands.

        . Printed   copies  of  plots  may  be  produced  on  HP  LaserJet
          printers.


      1.2 Installing Mathplot

      The Mathplot system consists of the following files:








                                       1

      Chapter 1. Using Mathplot                                          2


          MATHPLOT.EXE -- The executable program.
          MATHPLOT.FON -- Font file used for title and axis labels.
          MATHPLOT.LJF -- Font file for HP LaserJet printer.
          MATHPLOT.FUN -- Example functions
          MATHPLOT.DOC -- Documentation file.
          REGISTER.DOC -- Software registration form.

      To install Mathplot, copy the  files  into  the  directory  of  your
      choice.   If  you  do  not  plan to generated hard copy output for a
      LaserJet printer, you may delete  the  MATHPLOT.LJF  file.   If  the
      MATHPLOT.FON   and  MATHPLOT.LJF  files  are  not  in  your  current
      directory, you must place a command of the following  form  in  your
      AUTOEXEC.BAT  file  to  tell  Mathplot  where  to  look for its font
      files:

          SET MATHPLOT=directory

      Where "directory" is the name of the device and directory where  the
      files  are  located.   For  example,  if  the files are located in a
      directory named MATHPLOT on the C disk, the following command  could
      be used:

          SET MATHPLOT=C:\MATHPLOT


      1.3 Getting Started

      Mathplot  is  exceptionally  easy to use.  Although there are a fair
      number of commands to control options,  you  only  need  to  know  a
      couple of commands to begin using it.

      Start the program by entering the command:

          MATHPLOT

      Mathplot  will  display  a  title  screen; press Enter to proceed to
      command mode.  The  main  Mathplot  screen  is  divided  into  three
      sections.   The  top  window explains the function keys.  The bottom
      window is used to display status and  error  messages.   The  middle
      window  is  used  by the command editor to display commands that you
      enter.

      Several of the common Mathplot operations can  be  performed  either
      by  pressing  a function key or by typing a command.  These commands
      are described below:

          Function key   Command   Action
          ------------   -------   -----------------------------------
              ESC         EXIT     Exit from Mathplot to DOS
              F1          PLOT     Plot the current functions
              F2                   Print current functions on LaserJet
              F3          HELP     Display help menu
              F4          RESET    Erase functions and reset Mathplot
              F5                   Run an example

      Chapter 1. Using Mathplot                                          3


      The F5 key executes built-in example plots.  Each time you press  F5
      a  different  example  is displayed.  I suggest you use this feature
      to display a few plots in order to get a feeling  for  how  Mathplot
      works  and  what types of commands are used to produce plots.  Press
      any key to continue with execution after you  finish  looking  at  a
      plot.   Note  that after each example is completed the commands that
      produced it are displayed on your screen.  By examining a  few  sets
      of  example  commands  you  should be able to get a pretty good idea
      about how to use Mathplot.

      Once you have used F5 to display some  plots,  it  is  time  to  try
      entering  your  own commands.  Begin by specifying a simple function
      to be plotted.  I suggest you enter the command:

          Y=SIN(X)

      You may use either upper or lower  case  letters  when  you  type  a
      command.   Press Enter when you are finished typing the line.  Next,
      press F1 to command Mathplot to evaluate this function and plot  the
      results.

      You  should  see  a sine wave displayed on your screen.  Press Enter
      to return to the  command  editor.   Now  let's  make  the  function
      slightly more complicated by entering the command:

          Y=SIN(X)+SIN(3*X)/3

      This  replaces  the  previous  function definition.  Press F1 to see
      this function  plotted.   If  you  make  a  mistake  when  typing  a
      command,  use  the  arrow  and  editing  keys  such as Backspace and
      Delete to correct your mistake, then press Enter  to  reexecute  the
      command.

      So  far, the function has been evaluated over the interval (0,2*pi),
      which is the initial default domain.  Use the following  command  to
      change the domain to (-2*pi,2*pi):

          DOMAIN -2*PI,2*PI

      Also, use the following command to turn on grid line display:

          GRID ON

      Press F1 to display the plot.

      As  a  final  exercise, use the following command to define a second
      function to be displayed simultaneously with the first one:

          Y2=SIN(X)

      And, again press F1 to display them.  You should see a  simple  sine
      wave  (the Y2 function) superimposed on the previous function (the Y
      function).  Press ESC to exit Mathplot and return to DOS.

      Chapter 1. Using Mathplot                                          4


      1.4 Demonstration Command File

      The  Mathplot   distribution   includes   a   command   file   named
      MATHPLOT.FUN  containing a number of interesting example plots.  You
      can execute this command file by using the  Mathplot  "DO"  command,
      or  by  specifying  the  command  file  on the invocation line.  The
      following DOS command starts the Mathplot program and  instructs  it
      to execute the commands stored in the file MATHPLOT.FUN:

          MATHPLOT MATHPLOT.FUN


      1.5 Command Editor

      The  middle  window  of  the  main  Mathplot  screen  is used by the
      command  editor  to  accept  and  display  commands  you  type.   In
      addition  to  typing  commands,  you can also use the arrow keys and
      other editing functions to recall,  edit,  and  reexecute  commands.
      If  you  enter a command that has an error, a message will appear in
      the bottom window.  You can use the up-arrow key to move the  cursor
      up  to the previous line, edit it, and then reexecute it by pressing
      Enter.  Each time you press Enter, the line in which the  cursor  is
      positioned  is  executed.   Using the arrow keys to move up and down
      does not execute commands.

      1.5.1 Function Keys

      The following function keys can be used with the command editor:

          Delete    -- Delete the character under the cursor.
          Home      -- Move to the left end of the line.
          End       -- Move to the right end of the line.
          Page up   -- Move up to the previous page of commands.
          Page down -- Move down to the next page of commands.
          Insert    -- Switch between insert and overtype mode.

      1.5.2 Control Characters

      The following control  characters  can  be  used  with  the  command
      editor:

          Enter     -- Execute the command line the cursor is on.
          Backspace -- Delete the character to the left of the cursor.
          Control-U -- Delete characters to the left of the cursor.
          Control-D -- Delete all characters in the current line.


      1.6 Function Specification

      Much  of  the  power  of Mathplot comes from its ability to evaluate
      complicated functions entered  in  ordinary  algebraic  form.   This
      section  explains  the  arithmetic  operators and built in functions
      that are used to define a function.

      Chapter 1. Using Mathplot                                          5


      1.6.1 Arithmetic Operators

      The following arithmetic operators may be used in expressions:

            +        addition
            -        subtraction or unary minus
            *        multiplication
            /        division
            ** or ^  exponentiation

      Exponentiation   has   the   highest   precedence,    followed    by
      multiplication  and  division,  and  then  addition and subtraction.
      Parentheses may be used to group terms.

      As a convenience, Mathplot allows you  to  omit  the  multiplication
      operator  between  a  numeric  constant  and a following variable or
      function.  For example,  the  expressions  "2pi",  and  "2  pi"  are
      equivalent  to  "2*pi".   Similarly,  "5X"  is  equivalent to "5*X".
      However, if you specify a number before the letter "E", it  will  be
      taken  as  the  exponential form of a number (see below) rather than
      the number times the constant E (base of natural logarithms).

      1.6.2 Numeric Constants

      Numeric constants may be written in their natural form (1,  0,  1.5,
      .0003,  etc.)  or in exponential form, n.nnnEppp, where n.nnn is the
      base value and ppp is  the  power  of  ten  by  which  the  base  is
      multiplied.   For  example, the number 1.5E4 is equivalent to 15000.
      All numbers are treated as "floating point"  values,  regardless  of
      whether a decimal point is specified or not.

      1.6.3 Symbolic Constants

      There  are  two  numeric  constants  that  may  be  specified  using
      symbolic names.  The symbolic name "PI" is equivalent to  the  value
      of   pi,   3.14159...   Similarly,  the  symbolic  constant  "E"  is
      equivalent to the base of natural logarithms, 2.7182818...

      1.6.4 Parameter values

      Mathplot allows you to use parameters  named  P0,  P1,  ...,  P9  in
      function  definitions.  You can then assign values to the parameters
      and replot the function without having to  retype  the  function  to
      change  a  value.   To  assign  a  value  to  a  parameter, type the
      parameter name as a command followed by the value  to  be  assigned.
      For  example,  the  following  command assigns the value 0.67 to the
      parameter P0:

          P0  0.67

      Note that parameters are like constants during  the  evaluation  and
      plotting  of a function (i.e., their values do not change).  But you
      can assign new values to parameters between plot  generations.   For
      example,  consider  the  following  commands which define a function

      Chapter 1. Using Mathplot                                          6


      and then  plot  it  twice  with  two  different  values  of  the  P0
      parameter:

          Y = EXP(-P0*X) * COS(X)
          P0  0.6
          PLOT
          P0  0.8
          PLOT

      This  function  represents  the response of a damped oscillator with
      the P0 coefficient controlling the damping factor.  By changing  the
      value  of  the  P0  parameter you can examine different forms of the
      function without having to retype the function.


      1.7 Built in Functions

      The following functions are built into Mathplot and may be  used  in
      expressions:

      ABS(x) -- Absolute value of x.

      ACOS(x) -- Arc cosine of x.  Angles are measured in radians.

      ASIN(x) -- Arc sine of x.  Angles are measured in radians.

      ATAN(x) -- Arc tangent of x.  Angles are measured in radians.

      BETAI(x,a,b)  --  Incomplete beta function: Ix(a,b).  The incomplete
          beta function can be used to compute a  variety  of  statistical
          functions.   For  example,  the  probability of Student's t with
          `df'   degrees    of    freedom    can    be    computed    with
          BETAI(df/(df+t^2),.5*df,.5).    The   probability   of   the   F
          statistic with df1 and df2 degrees of freedom  can  be  computed
          with

              2*BETAI(df2/(df2+df1*f),.5*df2,.5*df1).

      COS(x) -- Cosine of x.  Angles are measured in radians.

      COSH(x) -- Hyperbolic cosine of x.

      COT(x) -- Cotangent of x.  (COT(x) = 1/TAN(x)).

      CSC(X) -- Cosecant of x.  (CSC(x) = 1/SIN(x)).

      DEG(x)  --  Converts  an  angle,  x,  measured  in  radians  to  the
          equivalent number of degrees.

      EI1(alpha,phi) -- Elliptic integral of  the  first  kind.   Computes
          the   integral   from   0   to   phi  radians  of  the  function
          d.phi/sqrt(1-k**2*sin(phi)**2), where  k  =  sin(alpha).   alpha
          and phi must be in the range 0 to pi/2.

      Chapter 1. Using Mathplot                                          7


      EI2(alpha,phi)  --  Elliptic  integral of the second kind.  Computes
          the  integral  from  0  to   phi   radians   of   the   function
          sqrt(1-k**2*sin(phi)**2)*d.phi,  where  k  =  sin(alpha).  alpha
          and phi must be in the range 0 to pi/2.

      EIC1(alpha)  --  Complete  elliptic  integral  of  the  first  kind.
          Computes  the  integral  from  0 to pi/2 radians of the function
          d.phi/sqrt(1-k**2*sin(phi)**2), where  k  =  sin(alpha).   alpha
          must be in the range 0 to (less than) pi/2.

      EIC2(alpha)  --  Complete  elliptic  integral  of  the  second kind.
          Computes the integral from 0 to pi/2  radians  of  the  function
          sqrt(1-k**2*sin(phi)**2)*d.phi,  where  k  =  sin(alpha).  alpha
          must be in the range 0 to pi/2.

      ERF(x) -- Standard error function of x.

      EXP(x) -- e (base of natural logarithms) raised to the x power.

      FAC(x) -- x factorial (x!).  Note,  the  FAC  function  is  computed
          using  the  GAMMA  function  (FAC(x)=GAMMA(x+1))  so non-integer
          argument values may be computed.

      GAMMA(x) -- Gamma function.  Note, GAMMA(x+1) = x!  (x factorial).

      GAMMAI(x) -- Reciprocal of GAMMA function (GAMMAI(x) = 1/GAMMA(x)).

      GAMMALN(x) -- Log (base e) of the GAMMA function.

      HAV(x) -- Haversine of x.  (HAV(x) = (1-COS(x))/2).

      J0(x) -- Bessel function of the first kind, order zero.

      J1(x) -- Bessel function of the first kind, order one.

      JN(n,x) -- Bessel function of the first kind, order n.

      LOG(x) -- Natural logarithm of x.

      LOG10(x) -- Base 10 logarithm of x.

      MAX(x1,x2) -- Maximum value of x1 or x2.

      MIN(x1,x2) -- Minimum value of x1 or x2.

      NORMAL(x) -- Normal probability distribution of x.  X  is  in  units
          of  standard deviations from the mean.  See also the description
          of the NPD function.  NORMAL(x) = NPD(x,0,1).

      NPD(x,mean,std)  --  Normal  probability  distribution  of  x   with
          specified  mean  and  standard  deviation.   X  is  in  units of
          standard deviations from the mean.

      Chapter 1. Using Mathplot                                          8


      PAREA(x) -- Area under the  normal  probability  distribution  curve
          from  -infinity  to  x.   (i.e., integral from -infinity to x of
          NORMAL(x)).

      PULSE(a,x,b) -- Pulse function.  If the value of x is  less  than  a
          or  greater  than  b,  the  value of the function is 0.  If x is
          greater than or equal to a and less than  or  equal  to  b,  the
          value  of  the  function  is 1.  In other words, it is 1 for the
          domain (a,b) and zero elsewhere.  If you need  a  function  that
          is  zero in the domain (a,b) and 1 elsewhere, use the expression
          (1-PULSE(a,x,b)).

      RAD(x) -- Converts an angle measured in degrees  to  the  equivalent
          number of radians.

      SEC(x) -- Secant of x.  (SEC(x) = 1/COS(x)).

      SIN(x) -- Sine of x.  Angles are measured in radians.

      SINH(x) -- Hyperbolic sine of x.

      SQRT(x) -- Square root of x.

      STEP(a,x)  --  Step function.  If x is less than a, the value of the
          function is 0.  If x is greater than or equal to  a,  the  value
          of  the  function is 1.  If you need a function which is 1 up to
          a  certain  value  and  then  0  beyond  that  value,  use   the
          expression STEP(x,a).

      T(n,x) -- Chebyshev polynomial of order n.

      TAN(x) -- Tangent of x.  Angles are measured in radians.

      TANH(x) -- Hyperbolic tangent of x.

      Y0(x) -- Bessel function of the second kind, order zero.

      Y1(x) -- Bessel function of the second kind, order one.

      YN(n,x) -- Bessel function of the second kind, order n.


      1.8 Function Types

      Mathplot  allows  four  different  types of functions to be plotted:
      cartesian, parametric cartesian, polar, and parametric polar.   Each
      of the function types is described below:

      1.8.1 Cartesian Functions

      A   cartesian   function  has  the  form  Y=f(X),  where  X  is  the
      independent variable that is plotted along the horizontal  axis  and
      Y  is  the  dependent  variable  plotted  on the vertical axis.  The
      value specified with the DOMAIN command controls the interval  of  X

      Chapter 1. Using Mathplot                                          9


      values  over which the function is evaluated.  Some examples of this
      type of function are listed below:

          Y=SIN(X)
          Y=2*X**2-3*X+5
          Y=SIN(X)/EXP(X)
          Y=1/SQRT(2*(X+1))

      1.8.2 Parametric Cartesian Functions

      Parametric functions use a third variable, which we will call T,  as
      the  independent  variable.   Both  X  and Y are dependent variables
      defined as functions of T.  The value  of  the  T  variable  is  not
      directly  displayed  on  the  plot but is used only in the functions
      that define the values of the X and Y variables  that  are  plotted.
      For  example,  the following commands define X and Y as functions of
      T:

          X=COS(T)
          Y=SIN(T)

      When  parametric  functions  are  defined,  the   DOMAIN   statement
      specifies  the  interval  over which the T variable is computed.  If
      the two functions of X and Y specified above are  plotted  over  the
      domain  (0,2*PI),  the  result  is  a  circle with radius 1 centered
      around the origin.

      1.8.3 Polar Functions

      A polar function specifies the distance (or radius) of a point  from
      the  origin as a function of the angle swept around the origin.  The
      angle (A) is the independent variable and  the  radius  (R)  is  the
      dependent  variable.  The DOMAIN statement specifies the interval of
      values that the angle is to be evaluated over.  The angle begins  on
      the  positive  X axis; positive angles are measured counterclockwise
      around the origin.  Angles are measured in radians; the RAD and  DEG
      functions  can  be used to convert between degrees and radians.  The
      simplest polar function is

          R=1

      which specifies that for all  angles  the  radius  is  1.   If  this
      function  is plotted over the domain (0,2*pi) the result is a circle
      of radius 1  centered  around  the  origin.   Another  simple  polar
      function is

          R=A

      which defines a spiral with the radius increasing with the angle.

      1.8.4 Parametric Polar Functions

      A  parametric polar function defines the radius (R) and angle (A) as
      functions of the  parametric  variable,  T.   The  DOMAIN  statement
      defines  the  interval  of  T  values  over  which  the  function is

      Chapter 1. Using Mathplot                                         10


      evaluated.  The following  is  an  example  of  a  parametric  polar
      function definition:

          R=COS(T)
          A=SIN(T)

      Over the domain (0,2*pi), this produces a figure-eight pattern.


      1.9 Plotting Simultaneous Functions

      Up  to  four  functions  may  be  plotted  at  the  same time.  When
      defining multiple  functions,  add  a  single-digit  suffix  to  the
      dependent   variable  name  for  the  function.   For  example,  the
      following   commands   define   four   functions   to   be   plotted
      simultaneously:

          Y1=SIN(X)
          Y2=COS(X)
          Y3=SIN(2*X)
          Y4=COS(2*X)

      If  no  number  is  specified,  the  default  value is 1.  Thus, the
      following two function definitions are equivalent:

          Y=2*X**2
          Y1=2*X**2

      You can remove a function definition by  defining  another  function
      for  the  same  dependent  variable  or  by specifying the dependent
      variable without a function.  For  example,  the  following  command
      removes the definition for Y2:

          Y2

      When  a  function  of a type (cartesian, polar, etc.) different from
      the current type is defined, all of the currently defined  functions
      are removed.






                                   Chapter 2

                               Mathplot Commands




      The   commands  described  in  this  section  are  used  to  control
      Mathplot.  When Mathplot is waiting for a  command,  the  cursor  is
      positioned in the middle window of the screen.

      If  you  need  to  type a command that is longer than a single line,
      you may continue a command by  typing  a  minus  sign  as  the  last
      character  on  the  line to be continued.  Note that a minus sign as
      the last character on  a  line  is  interpreted  by  Mathplot  as  a
      continuation  marker.   It  is  NOT  used  as  a  minus  sign in the
      expression.

      Commands may be abbreviated to the  first  three  letters  of  their
      keyword.  Commands may be typed using upper or lower case letters.

      You  may  place  comments on commands by preceding the comment by an
      exclamation  point.   For  example,  the  following  commands   have
      comments:

          ! Define square wave function
          Y=SIN(X)+SIN(3*X)/3       ! Approximate square wave
          DOMAIN 0,2*PI             ! One cycle of the function


      2.1 Startup Command File

      The DOS command to start Mathplot is:

          MATHPLOT  [filename]

      where  "filename"  is an optional parameter specifying the name of a
      file containing commands to be executed by Mathplot as  soon  as  it
      is  started.   This  startup  command  file  may contain one or more
      complete sets of statements to define functions and plot them.   The
      default  file extension is ".FUN".  See also the descriptions of the
      DO and  SAVE  commands  for  additional  information  about  command
      files.


      2.2 Initialization file

      Each  time  Mathplot  is  started  it  attempts to open a file named
      MATHPLOT.INI.   If  this  file  exists,  all  commands  in  it   are
      executed.   You  may  create  such  a file to contain initialization


                                       11

      Chapter 2. Mathplot Commands                                      12


      commands to set default values.  For example, if you  normally  like
      to  have  grid  lines  turned  on,  create a file named MATHPLOT.INI
      containing the command "GRID ON".   Mathplot  looks  for  this  file
      first  in  the current directory and if it does not find it there it
      checks to see if a MATHPLOT environment variable  has  been  defined
      to  specify a directory.  The initialization file is executed before
      any file specified on the command that starts Mathplot.


      2.3 Command Arguments

      Many of the commands accept numeric arguments.  In the  descriptions
      below,  the  notation  "cexpr"  is shown wherever a numeric argument
      may be specified.  These numeric arguments may consist  of  numbers,
      symbolic  constants,  and  expressions  using operators and built in
      functions.  For example, the following is a valid DOMAIN command:

          DOMAIN -2*PI,PI*SQRT(2)

      The argument expressions may NOT contain variables such as X, Y,  R,
      A, or T, or parameters such as P0 or P1.

      Arguments  shown  in  brackets are optional.  Braces around a set of
      options indicate that you must choose one  of  the  options  in  the
      set.


      2.4 Alphabetical List of Commands

      2.4.1 AXES

      AXES  {ON  | OFF} (default=ON) -- Specifies whether to display axes.
      Use  the  LABELS  command  to  control  whether  axis   labels   are
      displayed.

      2.4.2 CALCULATE

      CALCULATE  cexpr  --  Evaluate  the specified expression, which must
      contain  only  numbers,  operators,  and  built  in  functions,  and
      display the result in the bottom window.

      2.4.3 CAXES

      CAXES  cexpr  (default=3)  --  Specify  the color to be used for the
      axis lines and labels.

      2.4.4 CFn

      CFn cexpr (default=2,1,4,3) -- Define the  color  to  be  used  when
      plotting  function  'n'.  For example, the command "CF1 3" specifies
      that color 3 is to be used when plotting function 1.

      Chapter 2. Mathplot Commands                                      13


      2.4.5 CGRID

      CGRID cexpr (default=8) -- Specify the color to  be  used  for  grid
      lines.

      2.4.6 COLORBORDER

      COLORBORDER  color1 [ON color2] (default=WHITE) -- Specify the color
      of the border lines.  The 'color1' and 'color2' parameters  must  be
      one  of  the  following  keywords:  WHITE,  BLACK, BLUE, GREEN, RED,
      CYAN,  MAGENTA,  BROWN.   The  'color1'  parameter   specifies   the
      foreground  color  (i.e.,  the color of the characters).  If the "ON
      color2" phrase is used 'color2' is the  background  color.   If  the
      "ON  color2"  phrase is omitted, "ON BLACK" is used by default.  For
      example, to get white characters on a blue background, specify:

          COLORBORDER WHITE ON BLUE

      This command (and the other COLORxxx) commands can be placed in  the
      MATHPLOT.INI  initialization  file  to cause your selected colors to
      be initialized automatically each time Mathplot is started.

      2.4.7 COLOREDIT

      COLOREDIT color1 [ON color2] (default=WHITE) --  Specify  the  color
      of  the  center  portion  of the screen where commands are typed and
      displayed.

      2.4.8 COLORHEAD

      COLORHEAD color1 [ON color2] (default=CYAN) -- Specify the color  of
      the  text  in  the  heading  portion  of the screen (i.e., "ESC=Exit
      F1=Plot", etc.).

      2.4.9 COLORHELP

      COLORHELP color1 [ON color2] (default=WHITE) --  Specify  the  color
      of the help screen text.

      2.4.10 COLORHELPHEAD

      COLORHELPHEAD  color1  [ON  color2] (default=MAGENTA) -- Specify the
      color of the heading of the help display screen.

      2.4.11 COLORMESSAGE

      COLORMESSAGE color1  [ON  color2]  (default=GREEN)  --  Specify  the
      color  of  information  and  error  messages  displayed in the lower
      portion of the screen.

      2.4.12 COMMONSCALE

      COMMONSCALE {ON | OFF} (default=OFF) -- If  this  option  is  turned
      on,  the  X  and Y directions are forced to have the same scale.  If
      this option is off, the X and Y  ranges  are  scaled  independently,

      Chapter 2. Mathplot Commands                                      14


      which  may cause figures to be distorted - for example, a circle may
      display as an ellipse.  However, turning this option on  may  result
      in  one  of  the dimensions using only a small portion of the screen
      if the X and Y ranges are very different.  This option is always  on
      for polar function plots.

      2.4.13 CTITLE

      CTITLE  cexpr  (default=7) -- Specify the color to use for the title
      line.

      2.4.14 DATA

      DATA filename -- Causes X and Y data  values  to  be  read  from  an
      external  file rather than being computed from function definitions.
      After the data has been read, use the PLOT command  to  display  it.
      Any  function  definition  following  this  command  will  clear the
      external data values and revert to function  mode.   Each  X,Y  data
      pair  must  be specified as a separate line in the file with a space
      separating the X value from the Y value.  The default extension  for
      the file is ".DAT".

      2.4.15 DISPLAY

      DISPLAY  string  --  Display  the string in the bottom window of the
      screen.  The string is displayed for 3 seconds.   This  command  may
      be  placed  in command file to cause information to be printed while
      the command file is being processed.

      2.4.16 DO

      DO filename -- Execute the Mathplot commands stored in  an  external
      file.    This  allows  you  to  specify  a  complete  plot  request,
      including functions and options, and then execute it without  having
      to  retype  the  commands.  An external file may itself contain a DO
      command and this nesting may be performed to a depth  of  10  files.
      The  default  file  extension  is  ".FUN".   Use the LIST command to
      control whether the commands in the file are displayed in  the  edit
      window.  See also the description of the SAVE command.

      2.4.17 DOMAIN

      DOMAIN  cexpr1,cexpr2  (default=0,2*pi)  -- Define the domain of the
      independent variable over which  the  functions  are  evaluated  and
      plotted.  This command may be abbreviated to "DOM".

      2.4.18 EXIT

      EXIT  --  Stop  Mathplot  and return to DOS.  Pressing ESC will also
      cause Mathplot to exit.

      Chapter 2. Mathplot Commands                                      15


      2.4.19 GRID

      GRID {ON | OFF} (default=OFF) -- Specify whether grid lines  are  to
      be displayed.

      2.4.20 HELP

      HELP  --  Display  the  help menu.  You can also do this by pressing
      F3.

      2.4.21 LABEL

      LABEL {ON | OFF} (default=ON) -- Specify whether axis labels are  to
      be displayed.

      2.4.22 LIST

      LIST  {ON  | OFF} (default=OFF) -- Specify whether commands executed
      from an external file by subsequent use of the DO command are to  be
      listed as they are executed.

      2.4.23 NUMPOINTS

      NUMPOINTS  cexpr  (default=100)  --  Specify the number of points at
      which  the  functions  are  to  be  evaluated   over   the   domain.
      Specifying  a larger number of points results in a smoother plot but
      increases the computation time.  The maximum number of  points  that
      may  be  computed  is  2000.  This command may be abbreviated to the
      single letter 'N'.

      2.4.24 ORIGIN

      ORIGIN {ON | OFF} (default=OFF) -- Specify whether the origin  (0,0)
      is  to  be forced to be included in the plot.  If this option is off
      and the range of values does not span 0, then the origin may not  be
      displayed.   Turning this option on allows the range of the function
      relative to the origin to be observed, but may  result  in  a  small
      scale factor if the range is far from the origin.

      2.4.25 Pn

      Pn  cexpr  --  Specify  a value for parameter Pn where 'n' is in the
      range 0 to 9.  Mathplot allows  you  to  use  up  to  ten  parameter
      values  in  function  specifications.   The parameters are named P0,
      P1, ..., P9.  You can assign a new value to a parameter  and  replot
      the function without having to retype the function.

      2.4.26 PAUSE

      PAUSE  [cexpr]  (default=0)  --  This  command  may  be  placed in a
      command file to cause execution to pause until a key is  pressed  or
      the  specified number of seconds elapse.  If cexpr is omitted or has
      the value 0, execution pauses for an indefinite time until a key  is
      pressed.

      Chapter 2. Mathplot Commands                                      16


      2.4.27 PDEVICE

      PDEVICE  device (default=PRN) -- Allows you to specify the device or
      file to which printer output is written when printing is  turned  on
      by  use  of  the  PRINT ON command.  The default device is "PRN" but
      you may specify another device such as LPT2 or COM.   You  may  also
      direct  output  to  a disk file that you can printer later using the
      DOS PRINT or COPY commands.

      2.4.28 PRESOLUTION

      PRESOLUTION value (default=150) -- Specifies whether plots  sent  to
      HP  LaserJet printers should use 150 or 300 dot-per-inch resolution.
      The value parameter must be 150 or 300.  The default  value  is  150
      causes  the  plots  to use most of the horizontal width of an 8.5x11
      inch  page.   These  plots  are  suitable  for  direct  transfer  to
      overhead   transparencies.    Specifying   300  for  the  resolution
      produces smaller plots that are suitable for  inclusion  in  printed
      documents.

      2.4.29 WIDTH

      WIDTH  value  (optional) -- Specify the width, in inches, of printed
      plots.  Due to memory space considerations,  the  maximum  width  is
      limited  to  about  7.9 inches for 150 DPI resolution and 4.5 inches
      for 300 DPI resolution.  If you have limited memory space,  you  may
      have  to reduce the width to be able to produce printed plots.  This
      statement is ignored unless you request that a plot be printed.

      2.4.30 PLOT

      PLOT  [cexpr]  (default=0)  --  Evaluate   the   currently   defined
      functions   and   plot  them.   If  an  optional  value  (cexpr)  is
      specified, the function is displayed for  the  specified  number  of
      seconds  or  until  a  key  is  pressed.   If  the optional value is
      omitted or is zero, the plot is displayed  for  an  indefinite  time
      until  a  key  is  pressed.   The  use of the optional value is most
      useful when the PLOT command occurs in a command  file  producing  a
      "slide  show"  of  functions.   You can also plot the function(s) by
      pressing F1.

      2.4.31 PRINT

      PRINT {ON | OFF} (default=OFF) -- Turns printer output  on  or  off.
      When  turned on, any plot displayed on the screen is also written to
      the printer (or file  as  directed  by  the  PDEVICE  command).   To
      produce  a  printed  copy of the currently defined function(s) press
      F2.

      2.4.32 RESET

      RESET -- Reset all parameters and options to  their  initial  values
      and  remove  all  function  definitions.   You can also perform this
      function by pressing F4.

      Chapter 2. Mathplot Commands                                      17


      2.4.33 SAVE

      SAVE filename -- Write the  current  function  definitions  and  the
      values  of all options and parameters to the specified file.  The DO
      command can then be used at a later time to redisplay the  function.
      The default file extension is ".FUN".

      2.4.34 TITLE

      TITLE  string  --  Define a title line to be displayed at the top of
      the plot.

      2.4.35 WAXES

      WAXES cexpr (default=3) -- Specify the width (in dots) of  the  axis
      lines  for  printed  output.   This  parameter  does  not affect the
      screen display.

      2.4.36 WFn

      WFn cexpr (default=3) -- Specify the width (in  dots)  of  the  line
      used  to draw the plot of function 'n'.  This only affects hard copy
      output.

      2.4.37 WGRID

      WGRID cexpr (default=1) -- Specify the width (in dots) of  the  grid
      lines.  This only affects hard copy output.






                                   Chapter 3

                             Advanced Applications





      3.1 Root Finding

      Mathplot  can  be  used to find the roots of equations.  To do this,
      turn on axis labeling (LABEL ON) and  plot  the  function  over  the
      domain  in  which a root occurs.  Observe the approximate X value at
      which the function crosses the X axis and then reset the  domain  to
      closely  span  the crossing point.  Replot the function and obtain a
      new X estimate.  After  several  iterations  you  will  be  able  to
      determine  the root to several significant digits.  For example, use
      this technique to find the root of the function:

          Y = X^4 - EXP(X)

      in the domain (2,9.5).

      For a course in Algebra I, Mathplot can be used to  demonstrate  the
      graphical  method  of  solving  two simultaneous linear equations by
      locating the point of  intersection.   For  an  Algebra  II  course,
      Mathplot  can  be  used  to  locate  minimum  and maximum points for
      quadratic and cubic equations.


      3.2 Multiple Domains

      Mathplot only allows specification of a single continuous domain  of
      values.    However,   by   using   the  multiple  function  plotting
      capability it is sometimes possible to  simulate  multiple  domains.
      For  example,  the  function X*Y=5 defines a hyperbola with branches
      in both the positive X-Y  domain  (upper  right  quadrant)  and  the
      negative  X-Y  domain  (lower  left quadrant).  The following set of
      commands defines two  parametric  functions  to  draw  each  of  the
      branches:

          X1=T
          Y1=5/T
          X2=-T
          Y2=-5/T
          DOMAIN 0.5,10
          LABEL ON
          COMMONSCALE ON
          PLOT



                                       18

      Chapter 3. Advanced Applications                                  19


      3.3 Interesting Functions

      The   following   specifications  plot  interesting  and  attractive
      functions:

          TITLE Four Leaved Rose
          CTITLE 4
          R=2*SIN(2*A)
          CF1 3
          DOMAIN 0,2*PI
          NUMPOINTS 150
          AXES ON
          CAXES 1
          PLOT

          TITLE Prolate Cycloid
          CTITLE 4
          Y=1-2*COS(T)
          X=T-2*SIN(T)
          CF1 2
          DOMAIN -4*PI,4*PI
          NUMPOINTS 400
          CAXES 1
          COMMONSCALE ON
          PLOT

          TITLE Hypocycloid of four cusps (Asteroid)
          CTITLE 4
          Y=SIN(T)^3
          X=COS(T)^3
          CF1 2
          DOMAIN 0,2*PI
          NUMPOINTS 100
          AXES ON
          CAXES 1
          COMMONSCALE ON
          PLOT

          TITLE Bifolium
          CTITLE 4
          Y=2*SIN(T)^2*COS(T)^2
          X=2*SIN(T)*COS(T)^3
          CF1 3
          DOMAIN 0,2*PI
          NUMPOINTS 100
          AXES ON
          CAXES 1
          COMMONSCALE ON
          PLOT

      Chapter 3. Advanced Applications                                  20


          TITLE Epicycloid
          CTITLE 4
          Y=5*SIN(T)-SIN(5*T)
          X=5*COS(T)-COS(5*T)
          CF1 3
          DOMAIN 0,2*PI
          NUMPOINTS 150
          AXES ON
          CAXES 1
          COMMONSCALE ON
          PLOT


      3.4 "Artistic" Plots

      When Mathplot plots a function, it evaluates  the  function  at  the
      number  of  points  specified by the last NUMPOINTS command and then
      connects the points together using straight  lines.   By  specifying
      very  large  domain  values  for  polar or parametric functions, the
      lines  connecting  the  points  span  large  distances  and  produce
      interesting  and  "artistic"  plots.   It  is  best to turn off axis
      display  (AXES  OFF,  LABELS  OFF)  and  turn  on   common   scaling
      (COMMONSCALE ON) for these plots.  Here are some examples to try:

          Y=SIN(T)^3
          X=COS(T)^3
          CF1 2
          DOMAIN 0,4000
          NUMPOINTS 500

          R=2*SIN(2*A)
          CF1 3
          DOMAIN 0,2000
          NUMPOINTS 500

          Y=5*SIN(T)-SIN(5*T)
          X=5*COS(T)-COS(5*T)
          CF1 3
          DOMAIN 0,6000
          NUMPOINTS 400

      Parametric  and  polar  functions  seem to produce the best artistic
      plots.  By varying the NUMPOINTS and DOMAIN values you  can  usually
      produce many different plots from the same functions.






                                   Chapter 4

                        Use and Distribution of Mathplot




      You  are  welcome to make copies of this program and pass them on to
      friends or post this program on bulletin  boards  or  distribute  it
      via  disk catalog services provided the entire Mathplot distribution
      is included in its original, unmodified form.   A  distribution  fee
      may  be charged for the cost of the diskette, shipping and handling.
      However, Mathplot may  not  be  sold,  or  incorporated  in  another
      product   that  is  sold,  without  the  permission  of  Phillip  H.
      Sherrod.  Vendors are encouraged to contact the author  to  get  the
      most recent version of Mathplot.

      As  a  shareware product, you are granted a no-cost, trial period of
      30 days during  which  you  may  evaluate  Mathplot.   If  you  find
      Mathplot   to  be  useful,  educational,  and/or  entertaining,  and
      continue to use it beyond the 30 day trial period, you are  required
      to  compensate  the  author by sending the registration form printed
      on page 25 (and in REGISTER.DOC) with the  appropriate  registration
      fee to help cover the development and support of Mathplot.

      In  return for registering, you will be authorized to continue using
      Mathplot beyond the trial period  and  you  will  receive  the  most
      recent  version  of  the program, a laser-printed, bound manual, and
      three months of support via telephone, mail,  or  CompuServe.   Your
      registration  fee  will  be  refunded if you encounter a serious bug
      that cannot be corrected.

      See also the special offer for Nonlin on page 23.

      This  program  is  produced  by  a  member  of  the  Association  of
      Shareware  Professionals  (ASP).   ASP  wants  to make sure that the
      shareware principle works for you.  If you are unable to  resolve  a
      shareware-related  problem  with  an  ASP  member  by contacting the
      member directly, ASP may be able to help.   The  ASP  Ombudsman  can
      help  you  resolve a dispute or problem with an ASP member, but does
      not provide technical support for members' products.   Please  write
      to  the ASP Ombudsman at 545 Grover Road, Muskegon, MI 49442 or send
      a  CompuServe  message  via  CompuServe  Mail   to   ASP   Ombudsman
      7007,3536.








                                       21

      Chapter 4. Use and Distribution of Mathplot                       22


      You are welcome to contact the author:

                               Phillip H. Sherrod
                               4410 Gerald Place
                          Nashville, TN 37205-3806 USA
                            615-292-2881 (evenings)
                             CompuServe: 76166,2640
                      Internet: 76166.2640@compuserve.com


      4.1 Copyright Notice

      Both  the  Mathplot  program  and  documentation  are  copyright (c)
      1991-1993 by Phillip H.  Sherrod.  You are not authorized to  modify
      the program.  "Mathplot" is a trademark.


      4.2 Disclaimer

      Mathplot  is  provided  "as is" without warranty of any kind, either
      expressed  or  implied.   This  program  may  contain   "bugs"   and
      inaccuracies,  and  its  results should not be assumed to be correct
      unless they are verified by independent means.  The  author  assumes
      no   responsibility  for  the  use  of  Mathplot  and  will  not  be
      responsible for any damage resulting from its use.






                                   Chapter 5

                                 Other Software





      5.1 Nonlin

      If you like Mathplot, you should check out Nonlin --  the  nonlinear
      regression  analysis  program  by  the  same  author.   And,  if you
      register your use of Mathplot and order Nonlin  at  the  same  time,
      you can get both for the special price of $40.

      What  is regression analysis?  Regression analysis is a mathematical
      technique for determining the best values of parameters  to  fit  an
      equation  to  a  set of data points.  For example, you might want to
      develop an equation of the form

          price = p0 + p1*age + p2*miles

      to predict the price of a used car based on its age and  the  number
      of  miles driven.  With Nonlin you can collect data from car ads and
      then perform the analysis using the following set of commands:

          VARIABLES PRICE,AGE,MILES
          PARAMETERS P0,P1,P2
          FUNCTION  PRICE = P0 + P1*AGE + P2*MILES
          DATA

      Nonlin will analyze the data and determine the best  values  of  the
      parameters P0, P1, and P2 to fit the data values.

      Ordinary  linear  regression  programs  can only determine parameter
      values for linear (straight line) equations.  Nonlin, on  the  other
      hand,  can  handle  multivariate,  linear,  polynomial,  and general
      nonlinear equations.  For  example,  using  Nonlin  you  can  easily
      determine  the best values for the parameters Offset, Amplitude, and
      Frequency for an equation of the form:

          Y = Offset + Amplitude * sin(Frequency * X)

      Nonlin uses the same expression evaluator as  Mathplot  so  you  can
      model  complicated  equations  using  the  full set of operators and
      library functions available in Mathplot.

      Nonlin  comes  with  a  45  page  manual  that  explains  regression
      analysis  and  gives  many  examples.   Nonlin  is  in  use  at many
      universities and research labs around the world.


                                       23

      Chapter 5. Other Software                                         24


      5.2 TSX-32 Operating System

      If you  have  a  need  for  a  multi-user,  multi-tasking  operating
      system,  you  should  look  into TSX-32.  TSX-32 is a full-featured,
      high performance, multi-user operating system for the  386  and  486
      that   provides  both  32-bit  and  16-bit  program  support.   With
      facilities  such  as  multitasking  and  multisessions,  networking,
      virtual  memory,  X-Windows,  background batch queues, data caching,
      file  access  control,  real-time,  and  dial-in   support,   TSX-32
      provides a solid environment for a wide range of applications.

      A  two  user,  shareware  version  of TSX-32 called TSX-Lite is also
      available.

      TSX-32 is not a limited, 16-bit, multi-DOS add-on.  Rather, it is  a
      complete  32-bit  operating  system  which  makes  full  use  of the
      hardware's potential, including protected  mode  execution,  virtual
      memory,  and  demand  paging.  TSX-32 sites range from small systems
      with  2-3  terminals  to  large  installations  with  more  than  64
      terminals on a single 386.

      In  addition  to supporting most popular 16-bit DOS programs, TSX-32
      also provides a 32-bit "flat" address space with both Phar  Lap  and
      DPMI compatible modes of execution.

      Since  the  DOS  file  structure  is  standard  for  TSX-32, you can
      directly read and write DOS disks.  And, you can  run  DOS  part  of
      the time and TSX-32 the rest of the time on the same computer.

      TSX-32  allows each user to control up to 10 sessions.  Programs can
      also "fork" subtasks for multi-threaded applications.  The  patented
      Adaptive  Scheduling  Algorithm  provides consistently good response
      time under varying conditions.

      The  TSX-32  network  option  provides  industry   standard   TCP/IP
      networking  through  Ethernet and serial lines.  Programs can access
      files on remote machines as easily as on  their  own  machine.   The
      SET  HOST  command  allows a user on one machine to log onto another
      computer in the network.  FTP, Telnet, and  NFS  are  available  for
      interoperability with other systems.

      TSX-32  is the best and most powerful operating system available for
      the 386 and 486.  For additional information contact:

                           S&H Computer Systems, Inc.
                             1027 17th Avenue South
                            Nashville, TN 37212 USA
                              615-327-3670 (voice)
                               615-321-5929 (fax)
                              CompuServe: 71333,27
                       Internet: 71333.27@compuserve.com

       =================================================================
                              Software Order Form
       =================================================================

      Name ______________________________________________________

      Address ___________________________________________________

      City _______________________  State _______ Zip ___________

      Country ____________________  Telephone ___________________

      CompuServe account (optional) _____________________________

      Mathplot version __________________________________________

      Bulletin board where you found Mathplot ___________________

      Comments __________________________________________________

      Check the box below which indicates your order type:

      	___ I wish to register Mathplot ($20).

      	___ I wish to order Nonlin ($25).

      	___ I wish to register Mathplot and order Nonlin ($40).

      Add $5 to any amount shown above if the software  is  being  shipped
      out  of  the  United  States.   I  cannot  accept checks from non-US
      banks.  Visa, MasterCard and American Express  credit  card  charges
      are  accepted  but  a  check, money order, or cash is preferred.  If
      you wish to use a credit card specify  the  billing  name,  address,
      card number, and expiration date.

      In  return  for registering, you will receive the registered version
      of the program, a laser-printed,  bound  copy  of  the  manual,  and
      three  months of telephone or CompuServe support.  Your registration
      fee will be refunded if you  find  a  serious  bug  that  cannot  be
      corrected.

      Distribution disk choice (check one):

            3.50" HD (1.4 MB)  ______
            5.25" HD (1.2 MB)  ______
            5.25" DD (360 KB)  ______

      Send this form with the amount indicated to the author:

                               Phillip H. Sherrod
                               4410 Gerald Place
                         Nashville, TN  37205-3806 USA

                            615-292-2881 (evenings)
                             CompuServe: 76166,2640
                      Internet: 76166.2640@compuserve.com

      Index                                                             26


      Abbreviating commands, 11           DEG function, 6
      ABS function, 6                     Device for output, 16
      ACOS function, 6                    Disclaimer, 22
      Arc cosine, 6                       DISPLAY command, 14
      Arc sine, 6                         DO command, 14
      Arc tangent, 6                      DOMAIN command, 14
      Artistic plots, 20                  Domains
      ASIN function, 6                       multiple, 18
      ASP, 21                             Edit area color, 13
      Asteroid, 19                        EI1 function, 6
      ATAN function, 6                    EI2 function, 7
      AXES command, 12                    EIC1 function, 7
      Bessel function, 7, 8               EIC2 function, 7
      Beta function, 6                    Elliptic integral, 6, 7
      BETAI function, 6                   Epicycloid, 20
      Bifolium, 19                        ERF function, 7
      Border color, 13                    Error color, 13
      Build-in functions, 6               EXIT command, 14
      Calculate command, 12               EXP function, 7
      Cartesian functions, 8              Exponential, 7
      CAXES command, 12                   Exponentiation operator, 5
      CFn command, 12                     External command file, 14
      CGRID command, 13                   External data file, 14
      Chebyshev polynomial, 8             FAC function, 7
      Color                               Factorial, 7
         of axes, 12                      Four leaved rose, 19
         of border, 13                    GAMMA function, 7
         of edit area, 13                 GAMMALN function, 7
         of errors, 13                    GAMMI function, 7
         of function, 12                  Grid color, 13
         of grid, 13                      GRID command, 15
         of heading, 13                   HAV function, 7
         of help, 13                      Haversine, 7
         of messages, 13                  Heading color, 13
         of title, 14                     Help color, 13
      COLORBORDER command, 13             HELP command, 15
      COLOREDIT command, 13               Hyperbolic cosine, 6
      COLORHEAD command, 13               Hyperbolic sine, 8
      COLORHELP command, 13               Hyperbolic tangent, 8
      COLORHELPHEAD command, 13           Hypocycloid, 19
      COLORMESSAGE command, 13            Initialization file, 11
      Comments, 11                        Interesting functions, 19
      COMMONSCALE command, 13             Inverse gamma, 7
      Continuing lines, 11                J0 function, 7
      Copyright notice, 22                J1 function, 7
      COS function, 6                     JN function, 7
      Cosecant function, 6                LABEL command, 15
      COSH function, 6                    LIST command, 15
      COT function, 6                     LOG function, 7
      Cotangent function, 6               Log gamma, 7
      CSC function, 6                     LOG10 function, 7
      CTITLE command, 14                  Long lines, 11
      Curve fitting, 23                   MATHPLOT.INI, 11
      Cycloid, 19                         MAX function, 7
      DATA command, 14                    Message color, 13

      Index                                                             27


      MIN function, 7                     WGRID command, 17
      Multiple domains, 18                WIDTH command, 16
      Nonlin, 23                          Y0 function, 8
      Nonlinear regression, 23            Y1 function, 8
      NORMAL function, 7                  YN function, 8
      NPD function, 7
      Numeric constants, 5
      NUMPOINTS command, 15
      Operator precedence, 5
      Order form, 25
      ORIGIN command, 15
      Parameter values, 5, 15
      Parametric functions, 9
      PAREA function, 7
      PAUSE command, 15
      PDEVICE command, 16
      PI constant, 5
      PLOT command, 16
      Pn command, 15
      Polar functions, 9
      Precedence of operators, 5
      PRESOLUTION command, 16
      PRINT command, 16
      Printer resolution, 16
      Probability distribution, 7
      Prolate cycloid, 19
      PULSE function, 8
      RAD function, 8
      REGISTER.DOC, 21
      Registration form, 25
      Regression analysis, 23
      RESET command, 16
      Resolution of printer, 16
      Root finding, 18
      Rose figure, 19
      SAVE command, 17
      Scaling, 13
      SEC function, 8
      Secant, 8
      SIN function, 8
      SINH function, 8
      SQRT function, 8
      Standard error function, 7
      Startup file, 11
      STEP function, 8
      Symbolic constants., 5
      T function, 8
      TAN function, 8
      TANH function, 8
      Title color, 14
      TITLE command, 17
      Trademark notice, 22
      TSX-32, 24
      WAXES command, 17
      WFn command, 17
