home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 12 / CD_ASCQ_12_0294.iso / maj / 966 / mathplot.doc < prev    next >
Text File  |  1994-01-28  |  67KB  |  1,629 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.                                 M A T H P L O T
  7.  
  8.  
  9.  
  10.                      Mathematical Function Plotting Program
  11.  
  12.                              A "shareware" program
  13.  
  14.  
  15.  
  16.                                Phillip H. Sherrod
  17.  
  18.               Member, Association of Shareware Professionals (ASP)
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.           Mathplot allows you to specify mathematical functions  using
  27.           ordinary  algebraic  expressions  and immediately plot them.
  28.           Four  types  of  functions  may  be   specified:   cartesian
  29.           (Y=f(X));  parametric  cartesian  (Y=f(T) and X=f(T)); polar
  30.           (Radius=f(Angle)); and  parametric  polar  (Radius=f(T)  and
  31.           Angle=f(T)).    Up   to   four   functions  may  be  plotted
  32.           simultaneously.   Scaling   is   automatic.    Options   are
  33.           available  to  control  axis display and labeling as well as
  34.           grid lines.   Hard  copy  output  can  be  generated  to  HP
  35.           LaserJet  printers  as  well as screen display.  Mathplot is
  36.           an ideal tool for engineers, scientists,  math  and  science
  37.           teachers,  and  anyone  else  who needs to quickly visualize
  38.           mathematical functions.
  39.  
  40.  
  41.  
  42.  
  43.  
  44.                                Table of Contents
  45.  
  46.  
  47.  
  48.       1. Using Mathplot . . . . . . . . . . . . . . . . . . . . . . . .  1
  49.         1.1 Introduction  . . . . . . . . . . . . . . . . . . . . . . .  1
  50.         1.2 Installing Mathplot . . . . . . . . . . . . . . . . . . . .  1
  51.         1.3 Getting Started . . . . . . . . . . . . . . . . . . . . . .  2
  52.         1.4 Demonstration Command File  . . . . . . . . . . . . . . . .  4
  53.         1.5 Command Editor  . . . . . . . . . . . . . . . . . . . . . .  4
  54.           1.5.1 Function Keys . . . . . . . . . . . . . . . . . . . . .  4
  55.           1.5.2 Control Characters  . . . . . . . . . . . . . . . . . .  4
  56.         1.6 Function Specification  . . . . . . . . . . . . . . . . . .  4
  57.           1.6.1 Arithmetic Operators  . . . . . . . . . . . . . . . . .  5
  58.           1.6.2 Numeric Constants . . . . . . . . . . . . . . . . . . .  5
  59.           1.6.3 Symbolic Constants  . . . . . . . . . . . . . . . . . .  5
  60.           1.6.4 Parameter values  . . . . . . . . . . . . . . . . . . .  5
  61.         1.7 Built in Functions  . . . . . . . . . . . . . . . . . . . .  6
  62.         1.8 Function Types  . . . . . . . . . . . . . . . . . . . . . .  8
  63.           1.8.1 Cartesian Functions . . . . . . . . . . . . . . . . . .  8
  64.           1.8.2 Parametric Cartesian Functions  . . . . . . . . . . . .  9
  65.           1.8.3 Polar Functions . . . . . . . . . . . . . . . . . . . .  9
  66.           1.8.4 Parametric Polar Functions  . . . . . . . . . . . . . .  9
  67.         1.9 Plotting Simultaneous Functions . . . . . . . . . . . . . . 10
  68.  
  69.       2. Mathplot Commands  . . . . . . . . . . . . . . . . . . . . . . 11
  70.         2.1 Start up Command File . . . . . . . . . . . . . . . . . . . 11
  71.         2.2 Initialization file . . . . . . . . . . . . . . . . . . . . 11
  72.         2.3 Command Arguments . . . . . . . . . . . . . . . . . . . . . 12
  73.         2.4 Alphabetical List of Commands . . . . . . . . . . . . . . . 12
  74.           2.4.1 AXES  . . . . . . . . . . . . . . . . . . . . . . . . . 12
  75.           2.4.2 CALCULATE . . . . . . . . . . . . . . . . . . . . . . . 12
  76.           2.4.3 CAXES . . . . . . . . . . . . . . . . . . . . . . . . . 12
  77.           2.4.4 CFn . . . . . . . . . . . . . . . . . . . . . . . . . . 12
  78.           2.4.5 CGRID . . . . . . . . . . . . . . . . . . . . . . . . . 13
  79.           2.4.6 COLORBORDER . . . . . . . . . . . . . . . . . . . . . . 13
  80.           2.4.7 COLOREDIT . . . . . . . . . . . . . . . . . . . . . . . 13
  81.           2.4.8 COLORHEAD . . . . . . . . . . . . . . . . . . . . . . . 13
  82.           2.4.9 COLORHELP . . . . . . . . . . . . . . . . . . . . . . . 13
  83.           2.4.10 COLORHELPHEAD  . . . . . . . . . . . . . . . . . . . . 13
  84.           2.4.11 COLORMESSAGE . . . . . . . . . . . . . . . . . . . . . 13
  85.           2.4.12 COMMONSCALE  . . . . . . . . . . . . . . . . . . . . . 13
  86.           2.4.13 CTITLE . . . . . . . . . . . . . . . . . . . . . . . . 14
  87.           2.4.14 DATA . . . . . . . . . . . . . . . . . . . . . . . . . 14
  88.           2.4.15 DISPLAY  . . . . . . . . . . . . . . . . . . . . . . . 14
  89.           2.4.16 DO . . . . . . . . . . . . . . . . . . . . . . . . . . 14
  90.           2.4.17 DOMAIN . . . . . . . . . . . . . . . . . . . . . . . . 14
  91.           2.4.18 EXIT . . . . . . . . . . . . . . . . . . . . . . . . . 14
  92.           2.4.19 GRID . . . . . . . . . . . . . . . . . . . . . . . . . 15
  93.           2.4.20 HELP . . . . . . . . . . . . . . . . . . . . . . . . . 15
  94.           2.4.21 LABEL  . . . . . . . . . . . . . . . . . . . . . . . . 15
  95.  
  96.  
  97.                                        i
  98.  
  99.       Contents                                                          ii
  100.  
  101.  
  102.           2.4.22 LIST . . . . . . . . . . . . . . . . . . . . . . . . . 15
  103.           2.4.23 NUMPOINTS  . . . . . . . . . . . . . . . . . . . . . . 15
  104.           2.4.24 ORIGIN . . . . . . . . . . . . . . . . . . . . . . . . 15
  105.           2.4.25 Pn . . . . . . . . . . . . . . . . . . . . . . . . . . 15
  106.           2.4.26 PAUSE  . . . . . . . . . . . . . . . . . . . . . . . . 15
  107.           2.4.27 PDEVICE  . . . . . . . . . . . . . . . . . . . . . . . 16
  108.           2.4.28 PRESOLUTION  . . . . . . . . . . . . . . . . . . . . . 16
  109.           2.4.29 WIDTH  . . . . . . . . . . . . . . . . . . . . . . . . 16
  110.           2.4.30 PLOT . . . . . . . . . . . . . . . . . . . . . . . . . 16
  111.           2.4.31 PRINT  . . . . . . . . . . . . . . . . . . . . . . . . 16
  112.           2.4.32 RESET  . . . . . . . . . . . . . . . . . . . . . . . . 16
  113.           2.4.33 SAVE . . . . . . . . . . . . . . . . . . . . . . . . . 17
  114.           2.4.34 TITLE  . . . . . . . . . . . . . . . . . . . . . . . . 17
  115.           2.4.35 WAXES  . . . . . . . . . . . . . . . . . . . . . . . . 17
  116.           2.4.36 WFn  . . . . . . . . . . . . . . . . . . . . . . . . . 17
  117.           2.4.37 WGRID  . . . . . . . . . . . . . . . . . . . . . . . . 17
  118.  
  119.       3. Advanced Applications  . . . . . . . . . . . . . . . . . . . . 18
  120.         3.1 Root Finding  . . . . . . . . . . . . . . . . . . . . . . . 18
  121.         3.2 Multiple Domains  . . . . . . . . . . . . . . . . . . . . . 18
  122.         3.3 Interesting Functions . . . . . . . . . . . . . . . . . . . 19
  123.         3.4 "Artistic" Plots  . . . . . . . . . . . . . . . . . . . . . 20
  124.  
  125.       4. Use and Distribution of Mathplot . . . . . . . . . . . . . . . 21
  126.         4.1 Copyright Notice  . . . . . . . . . . . . . . . . . . . . . 22
  127.         4.2 Disclaimer  . . . . . . . . . . . . . . . . . . . . . . . . 22
  128.  
  129.       5. Other Software . . . . . . . . . . . . . . . . . . . . . . . . 23
  130.         5.1 Nonlin  . . . . . . . . . . . . . . . . . . . . . . . . . . 23
  131.         5.2 TSX-32 Operating System . . . . . . . . . . . . . . . . . . 24
  132.  
  133.       6. Software Order Form  . . . . . . . . . . . . . . . . . . . . . 25
  134.  
  135.       Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.                                    Chapter 1
  143.  
  144.                                  Using Mathplot
  145.  
  146.  
  147.  
  148.  
  149.  
  150.       1.1 Introduction
  151.  
  152.       Mathplot is a program for IBM-PC computers which allows  interactive
  153.       entry  and plotting of mathematical functions.  Some of the features
  154.       of Mathplot are listed below:
  155.  
  156.         . Direct entry of complicated mathematical functions using  normal
  157.           algebraic expressions with embedded operators and functions.
  158.  
  159.         . An  assortment  of  built-in  functions including trigonometric,
  160.           square root, log,  Gamma,  Bessel,  elliptic  integrals,  normal
  161.           probability distribution, etc.
  162.  
  163.         . The   ability   to  plot  four  types  of  functions:  cartesian
  164.           (Y=f(X));  parametric  cartesian  (Y=f(T)  and  X=f(T));   polar
  165.           (Radius=f(Angle));   and   parametric   polar  (Radius=f(T)  and
  166.           Angle=f(T)).
  167.  
  168.         . The ability to simultaneously plot up to four functions.
  169.  
  170.         . Automatic scaling and axis labeling.
  171.  
  172.         . The ability to save function  specifications  in  command  files
  173.           which then can be easily executed.
  174.  
  175.         . The ability to accept X-Y data points from an external file.
  176.  
  177.         . A command editor allows easy recall and editing of commands.
  178.  
  179.         . Printed   copies  of  plots  may  be  produced  on  HP  LaserJet
  180.           printers.
  181.  
  182.  
  183.       1.2 Installing Mathplot
  184.  
  185.       The Mathplot system consists of the following files:
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.                                        1
  195.  
  196.       Chapter 1. Using Mathplot                                          2
  197.  
  198.  
  199.           MATHPLOT.EXE -- The executable program.
  200.           MATHPLOT.FON -- Font file used for title and axis labels.
  201.           MATHPLOT.LJF -- Font file for HP LaserJet printer.
  202.           MATHPLOT.FUN -- Example functions
  203.           MATHPLOT.DOC -- Documentation file.
  204.           REGISTER.DOC -- Software registration form.
  205.  
  206.       To install Mathplot, copy the  files  into  the  directory  of  your
  207.       choice.   If  you  do  not  plan to generated hard copy output for a
  208.       LaserJet printer, you may delete  the  MATHPLOT.LJF  file.   If  the
  209.       MATHPLOT.FON   and  MATHPLOT.LJF  files  are  not  in  your  current
  210.       directory, you must place a command of the following  form  in  your
  211.       AUTOEXEC.BAT  file  to  tell  Mathplot  where  to  look for its font
  212.       files:
  213.  
  214.           SET MATHPLOT=directory
  215.  
  216.       Where "directory" is the name of the device and directory where  the
  217.       files  are  located.   For  example,  if  the files are located in a
  218.       directory named MATHPLOT on the C disk, the following command  could
  219.       be used:
  220.  
  221.           SET MATHPLOT=C:\MATHPLOT
  222.  
  223.  
  224.       1.3 Getting Started
  225.  
  226.       Mathplot  is  exceptionally  easy to use.  Although there are a fair
  227.       number of commands to control options,  you  only  need  to  know  a
  228.       couple of commands to begin using it.
  229.  
  230.       Start the program by entering the command:
  231.  
  232.           MATHPLOT
  233.  
  234.       Mathplot  will  display  a  title  screen; press Enter to proceed to
  235.       command mode.  The  main  Mathplot  screen  is  divided  into  three
  236.       sections.   The  top  window explains the function keys.  The bottom
  237.       window is used to display status and  error  messages.   The  middle
  238.       window  is  used  by the command editor to display commands that you
  239.       enter.
  240.  
  241.       Several of the common Mathplot operations can  be  performed  either
  242.       by  pressing  a function key or by typing a command.  These commands
  243.       are described below:
  244.  
  245.           Function key   Command   Action
  246.           ------------   -------   -----------------------------------
  247.               ESC         EXIT     Exit from Mathplot to DOS
  248.               F1          PLOT     Plot the current functions
  249.               F2                   Print current functions on LaserJet
  250.               F3          HELP     Display help menu
  251.               F4          RESET    Erase functions and reset Mathplot
  252.               F5                   Run an example
  253.  
  254.       Chapter 1. Using Mathplot                                          3
  255.  
  256.  
  257.       The F5 key executes built-in example plots.  Each time you press  F5
  258.       a  different  example  is displayed.  I suggest you use this feature
  259.       to display a few plots in order to get a feeling  for  how  Mathplot
  260.       works  and  what types of commands are used to produce plots.  Press
  261.       any key to continue with execution after you  finish  looking  at  a
  262.       plot.   Note  that after each example is completed the commands that
  263.       produced it are displayed on your screen.  By examining a  few  sets
  264.       of  example  commands  you  should be able to get a pretty good idea
  265.       about how to use Mathplot.
  266.  
  267.       Once you have used F5 to display some  plots,  it  is  time  to  try
  268.       entering  your  own commands.  Begin by specifying a simple function
  269.       to be plotted.  I suggest you enter the command:
  270.  
  271.           Y=SIN(X)
  272.  
  273.       You may use either upper or lower  case  letters  when  you  type  a
  274.       command.   Press Enter when you are finished typing the line.  Next,
  275.       press F1 to command Mathplot to evaluate this function and plot  the
  276.       results.
  277.  
  278.       You  should  see  a sine wave displayed on your screen.  Press Enter
  279.       to return to the  command  editor.   Now  let's  make  the  function
  280.       slightly more complicated by entering the command:
  281.  
  282.           Y=SIN(X)+SIN(3*X)/3
  283.  
  284.       This  replaces  the  previous  function definition.  Press F1 to see
  285.       this function  plotted.   If  you  make  a  mistake  when  typing  a
  286.       command,  use  the  arrow  and  editing  keys  such as Backspace and
  287.       Delete to correct your mistake, then press Enter  to  reexecute  the
  288.       command.
  289.  
  290.       So  far, the function has been evaluated over the interval (0,2*pi),
  291.       which is the initial default domain.  Use the following  command  to
  292.       change the domain to (-2*pi,2*pi):
  293.  
  294.           DOMAIN -2*PI,2*PI
  295.  
  296.       Also, use the following command to turn on grid line display:
  297.  
  298.           GRID ON
  299.  
  300.       Press F1 to display the plot.
  301.  
  302.       As  a  final  exercise, use the following command to define a second
  303.       function to be displayed simultaneously with the first one:
  304.  
  305.           Y2=SIN(X)
  306.  
  307.       And, again press F1 to display them.  You should see a  simple  sine
  308.       wave  (the Y2 function) superimposed on the previous function (the Y
  309.       function).  Press ESC to exit Mathplot and return to DOS.
  310.  
  311.       Chapter 1. Using Mathplot                                          4
  312.  
  313.  
  314.       1.4 Demonstration Command File
  315.  
  316.       The  Mathplot   distribution   includes   a   command   file   named
  317.       MATHPLOT.FUN  containing a number of interesting example plots.  You
  318.       can execute this command file by using the  Mathplot  "DO"  command,
  319.       or  by  specifying  the  command  file  on the invocation line.  The
  320.       following DOS command starts the Mathplot program and  instructs  it
  321.       to execute the commands stored in the file MATHPLOT.FUN:
  322.  
  323.           MATHPLOT MATHPLOT.FUN
  324.  
  325.  
  326.       1.5 Command Editor
  327.  
  328.       The  middle  window  of  the  main  Mathplot  screen  is used by the
  329.       command  editor  to  accept  and  display  commands  you  type.   In
  330.       addition  to  typing  commands,  you can also use the arrow keys and
  331.       other editing functions to recall,  edit,  and  reexecute  commands.
  332.       If  you  enter a command that has an error, a message will appear in
  333.       the bottom window.  You can use the up-arrow key to move the  cursor
  334.       up  to the previous line, edit it, and then reexecute it by pressing
  335.       Enter.  Each time you press Enter, the line in which the  cursor  is
  336.       positioned  is  executed.   Using the arrow keys to move up and down
  337.       does not execute commands.
  338.  
  339.       1.5.1 Function Keys
  340.  
  341.       The following function keys can be used with the command editor:
  342.  
  343.           Delete    -- Delete the character under the cursor.
  344.           Home      -- Move to the left end of the line.
  345.           End       -- Move to the right end of the line.
  346.           Page up   -- Move up to the previous page of commands.
  347.           Page down -- Move down to the next page of commands.
  348.           Insert    -- Switch between insert and over type mode.
  349.  
  350.       1.5.2 Control Characters
  351.  
  352.       The following control  characters  can  be  used  with  the  command
  353.       editor:
  354.  
  355.           Enter     -- Execute the command line the cursor is on.
  356.           Backspace -- Delete the character to the left of the cursor.
  357.           Control-U -- Delete characters to the left of the cursor.
  358.           Control-D -- Delete all characters in the current line.
  359.  
  360.  
  361.       1.6 Function Specification
  362.  
  363.       Much  of  the  power  of Mathplot comes from its ability to evaluate
  364.       complicated functions entered  in  ordinary  algebraic  form.   This
  365.       section  explains  the  arithmetic  operators and built in functions
  366.       that are used to define a function.
  367.  
  368.       Chapter 1. Using Mathplot                                          5
  369.  
  370.  
  371.       1.6.1 Arithmetic Operators
  372.  
  373.       The following arithmetic operators may be used in expressions:
  374.  
  375.             +        addition
  376.             -        subtraction or unary minus
  377.             *        multiplication
  378.             /        division
  379.             ** or ^  exponentiation
  380.  
  381.       Exponentiation   has   the   highest   precedence,    followed    by
  382.       multiplication  and  division,  and  then  addition and subtraction.
  383.       Parentheses may be used to group terms.
  384.  
  385.       As a convenience, Mathplot allows you  to  omit  the  multiplication
  386.       operator  between  a  numeric  constant  and a following variable or
  387.       function.  For example,  the  expressions  "2pi",  and  "2  pi"  are
  388.       equivalent  to  "2*pi".   Similarly,  "5X"  is  equivalent to "5*X".
  389.       However, if you specify a number before the letter "E", it  will  be
  390.       taken  as  the  exponential form of a number (see below) rather than
  391.       the number times the constant E (base of natural logarithms).
  392.  
  393.       1.6.2 Numeric Constants
  394.  
  395.       Numeric constants may be written in their natural form (1,  0,  1.5,
  396.       .0003,  etc.)  or in exponential form, n.nnnEppp, where n.nnn is the
  397.       base value and ppp is  the  power  of  ten  by  which  the  base  is
  398.       multiplied.   For  example, the number 1.5E4 is equivalent to 15000.
  399.       All numbers are treated as "floating point"  values,  regardless  of
  400.       whether a decimal point is specified or not.
  401.  
  402.       1.6.3 Symbolic Constants
  403.  
  404.       There  are  two  numeric  constants  that  may  be  specified  using
  405.       symbolic names.  The symbolic name "PI" is equivalent to  the  value
  406.       of   pi,   3.14159...   Similarly,  the  symbolic  constant  "E"  is
  407.       equivalent to the base of natural logarithms, 2.7182818...
  408.  
  409.       1.6.4 Parameter values
  410.  
  411.       Mathplot allows you to use parameters  named  P0,  P1,  ...,  P9  in
  412.       function  definitions.  You can then assign values to the parameters
  413.       and replot the function without having to  retype  the  function  to
  414.       change  a  value.   To  assign  a  value  to  a  parameter, type the
  415.       parameter name as a command followed by the value  to  be  assigned.
  416.       For  example,  the  following  command assigns the value 0.67 to the
  417.       parameter P0:
  418.  
  419.           P0  0.67
  420.  
  421.       Note that parameters are like constants during  the  evaluation  and
  422.       plotting  of a function (i.e., their values do not change).  But you
  423.       can assign new values to parameters between plot  generations.   For
  424.       example,  consider  the  following  commands which define a function
  425.  
  426.       Chapter 1. Using Mathplot                                          6
  427.  
  428.  
  429.       and then  plot  it  twice  with  two  different  values  of  the  P0
  430.       parameter:
  431.  
  432.           Y = EXP(-P0*X) * COS(X)
  433.           P0  0.6
  434.           PLOT
  435.           P0  0.8
  436.           PLOT
  437.  
  438.       This  function  represents  the response of a damped oscillator with
  439.       the P0 coefficient controlling the damping factor.  By changing  the
  440.       value  of  the  P0  parameter you can examine different forms of the
  441.       function without having to retype the function.
  442.  
  443.  
  444.       1.7 Built in Functions
  445.  
  446.       The following functions are built into Mathplot and may be  used  in
  447.       expressions:
  448.  
  449.       ABS(x) -- Absolute value of x.
  450.  
  451.       ACOS(x) -- Arc cosine of x.  Angles are measured in radians.
  452.  
  453.       ASIN(x) -- Arc sine of x.  Angles are measured in radians.
  454.  
  455.       ATAN(x) -- Arc tangent of x.  Angles are measured in radians.
  456.  
  457.       BETAI(x,a,b)  --  Incomplete beta function: Ix(a,b).  The incomplete
  458.           beta function can be used to compute a  variety  of  statistical
  459.           functions.   For  example,  the  probability of Student's t with
  460.           `df'   degrees    of    freedom    can    be    computed    with
  461.           BETAI(df/(df+t^2),.5*df,.5).    The   probability   of   the   F
  462.           statistic with df1 and df2 degrees of freedom  can  be  computed
  463.           with
  464.  
  465.               2*BETAI(df2/(df2+df1*f),.5*df2,.5*df1).
  466.  
  467.       COS(x) -- Cosine of x.  Angles are measured in radians.
  468.  
  469.       COSH(x) -- Hyperbolic cosine of x.
  470.  
  471.       COT(x) -- Cotangent of x.  (COT(x) = 1/TAN(x)).
  472.  
  473.       CSC(X) -- Cosecant of x.  (CSC(x) = 1/SIN(x)).
  474.  
  475.       DEG(x)  --  Converts  an  angle,  x,  measured  in  radians  to  the
  476.           equivalent number of degrees.
  477.  
  478.       EI1(alpha,phi) -- Elliptic integral of  the  first  kind.   Computes
  479.           the   integral   from   0   to   phi  radians  of  the  function
  480.           d.phi/sqrt(1-k**2*sin(phi)**2), where  k  =  sin(alpha).   alpha
  481.           and phi must be in the range 0 to pi/2.
  482.  
  483.       Chapter 1. Using Mathplot                                          7
  484.  
  485.  
  486.       EI2(alpha,phi)  --  Elliptic  integral of the second kind.  Computes
  487.           the  integral  from  0  to   phi   radians   of   the   function
  488.           sqrt(1-k**2*sin(phi)**2)*d.phi,  where  k  =  sin(alpha).  alpha
  489.           and phi must be in the range 0 to pi/2.
  490.  
  491.       EIC1(alpha)  --  Complete  elliptic  integral  of  the  first  kind.
  492.           Computes  the  integral  from  0 to pi/2 radians of the function
  493.           d.phi/sqrt(1-k**2*sin(phi)**2), where  k  =  sin(alpha).   alpha
  494.           must be in the range 0 to (less than) pi/2.
  495.  
  496.       EIC2(alpha)  --  Complete  elliptic  integral  of  the  second kind.
  497.           Computes the integral from 0 to pi/2  radians  of  the  function
  498.           sqrt(1-k**2*sin(phi)**2)*d.phi,  where  k  =  sin(alpha).  alpha
  499.           must be in the range 0 to pi/2.
  500.  
  501.       ERF(x) -- Standard error function of x.
  502.  
  503.       EXP(x) -- e (base of natural logarithms) raised to the x power.
  504.  
  505.       FAC(x) -- x factorial (x!).  Note,  the  FAC  function  is  computed
  506.           using  the  GAMMA  function  (FAC(x)=GAMMA(x+1))  so non-integer
  507.           argument values may be computed.
  508.  
  509.       GAMMA(x) -- Gamma function.  Note, GAMMA(x+1) = x!  (x factorial).
  510.  
  511.       GAMMAI(x) -- Reciprocal of GAMMA function (GAMMAI(x) = 1/GAMMA(x)).
  512.  
  513.       GAMMALN(x) -- Log (base e) of the GAMMA function.
  514.  
  515.       HAV(x) -- Haversine of x.  (HAV(x) = (1-COS(x))/2).
  516.  
  517.       J0(x) -- Bessel function of the first kind, order zero.
  518.  
  519.       J1(x) -- Bessel function of the first kind, order one.
  520.  
  521.       JN(n,x) -- Bessel function of the first kind, order n.
  522.  
  523.       LOG(x) -- Natural logarithm of x.
  524.  
  525.       LOG10(x) -- Base 10 logarithm of x.
  526.  
  527.       MAX(x1,x2) -- Maximum value of x1 or x2.
  528.  
  529.       MIN(x1,x2) -- Minimum value of x1 or x2.
  530.  
  531.       NORMAL(x) -- Normal probability distribution of x.  X  is  in  units
  532.           of  standard deviations from the mean.  See also the description
  533.           of the NPD function.  NORMAL(x) = NPD(x,0,1).
  534.  
  535.       NPD(x,mean,std)  --  Normal  probability  distribution  of  x   with
  536.           specified  mean  and  standard  deviation.   X  is  in  units of
  537.           standard deviations from the mean.
  538.  
  539.       Chapter 1. Using Mathplot                                          8
  540.  
  541.  
  542.       PAREA(x) -- Area under the  normal  probability  distribution  curve
  543.           from  -infinity  to  x.   (i.e., integral from -infinity to x of
  544.           NORMAL(x)).
  545.  
  546.       PULSE(a,x,b) -- Pulse function.  If the value of x is  less  than  a
  547.           or  greater  than  b,  the  value of the function is 0.  If x is
  548.           greater than or equal to a and less than  or  equal  to  b,  the
  549.           value  of  the  function  is 1.  In other words, it is 1 for the
  550.           domain (a,b) and zero elsewhere.  If you need  a  function  that
  551.           is  zero in the domain (a,b) and 1 elsewhere, use the expression
  552.           (1-PULSE(a,x,b)).
  553.  
  554.       RAD(x) -- Converts an angle measured in degrees  to  the  equivalent
  555.           number of radians.
  556.  
  557.       SEC(x) -- Secant of x.  (SEC(x) = 1/COS(x)).
  558.  
  559.       SIN(x) -- Sine of x.  Angles are measured in radians.
  560.  
  561.       SINH(x) -- Hyperbolic sine of x.
  562.  
  563.       SQRT(x) -- Square root of x.
  564.  
  565.       STEP(a,x)  --  Step function.  If x is less than a, the value of the
  566.           function is 0.  If x is greater than or equal to  a,  the  value
  567.           of  the  function is 1.  If you need a function which is 1 up to
  568.           a  certain  value  and  then  0  beyond  that  value,  use   the
  569.           expression STEP(x,a).
  570.  
  571.       T(n,x) -- Chebyshev polynomial of order n.
  572.  
  573.       TAN(x) -- Tangent of x.  Angles are measured in radians.
  574.  
  575.       TANH(x) -- Hyperbolic tangent of x.
  576.  
  577.       Y0(x) -- Bessel function of the second kind, order zero.
  578.  
  579.       Y1(x) -- Bessel function of the second kind, order one.
  580.  
  581.       YN(n,x) -- Bessel function of the second kind, order n.
  582.  
  583.  
  584.       1.8 Function Types
  585.  
  586.       Mathplot  allows  four  different  types of functions to be plotted:
  587.       cartesian, parametric cartesian, polar, and parametric polar.   Each
  588.       of the function types is described below:
  589.  
  590.       1.8.1 Cartesian Functions
  591.  
  592.       A   cartesian   function  has  the  form  Y=f(X),  where  X  is  the
  593.       independent variable that is plotted along the horizontal  axis  and
  594.       Y  is  the  dependent  variable  plotted  on the vertical axis.  The
  595.       value specified with the DOMAIN command controls the interval  of  X
  596.  
  597.       Chapter 1. Using Mathplot                                          9
  598.  
  599.  
  600.       values  over which the function is evaluated.  Some examples of this
  601.       type of function are listed below:
  602.  
  603.           Y=SIN(X)
  604.           Y=2*X**2-3*X+5
  605.           Y=SIN(X)/EXP(X)
  606.           Y=1/SQRT(2*(X+1))
  607.  
  608.       1.8.2 Parametric Cartesian Functions
  609.  
  610.       Parametric functions use a third variable, which we will call T,  as
  611.       the  independent  variable.   Both  X  and Y are dependent variables
  612.       defined as functions of T.  The value  of  the  T  variable  is  not
  613.       directly  displayed  on  the  plot but is used only in the functions
  614.       that define the values of the X and Y variables  that  are  plotted.
  615.       For  example,  the following commands define X and Y as functions of
  616.       T:
  617.  
  618.           X=COS(T)
  619.           Y=SIN(T)
  620.  
  621.       When  parametric  functions  are  defined,  the   DOMAIN   statement
  622.       specifies  the  interval  over which the T variable is computed.  If
  623.       the two functions of X and Y specified above are  plotted  over  the
  624.       domain  (0,2*PI),  the  result  is  a  circle with radius 1 centered
  625.       around the origin.
  626.  
  627.       1.8.3 Polar Functions
  628.  
  629.       A polar function specifies the distance (or radius) of a point  from
  630.       the  origin as a function of the angle swept around the origin.  The
  631.       angle (A) is the independent variable and  the  radius  (R)  is  the
  632.       dependent  variable.  The DOMAIN statement specifies the interval of
  633.       values that the angle is to be evaluated over.  The angle begins  on
  634.       the  positive  X axis; positive angles are measured counterclockwise
  635.       around the origin.  Angles are measured in radians; the RAD and  DEG
  636.       functions  can  be used to convert between degrees and radians.  The
  637.       simplest polar function is
  638.  
  639.           R=1
  640.  
  641.       which specifies that for all  angles  the  radius  is  1.   If  this
  642.       function  is plotted over the domain (0,2*pi) the result is a circle
  643.       of radius 1  centered  around  the  origin.   Another  simple  polar
  644.       function is
  645.  
  646.           R=A
  647.  
  648.       which defines a spiral with the radius increasing with the angle.
  649.  
  650.       1.8.4 Parametric Polar Functions
  651.  
  652.       A  parametric polar function defines the radius (R) and angle (A) as
  653.       functions of the  parametric  variable,  T.   The  DOMAIN  statement
  654.       defines  the  interval  of  T  values  over  which  the  function is
  655.  
  656.       Chapter 1. Using Mathplot                                         10
  657.  
  658.  
  659.       evaluated.  The following  is  an  example  of  a  parametric  polar
  660.       function definition:
  661.  
  662.           R=COS(T)
  663.           A=SIN(T)
  664.  
  665.       Over the domain (0,2*pi), this produces a figure-eight pattern.
  666.  
  667.  
  668.       1.9 Plotting Simultaneous Functions
  669.  
  670.       Up  to  four  functions  may  be  plotted  at  the  same time.  When
  671.       defining multiple  functions,  add  a  single-digit  suffix  to  the
  672.       dependent   variable  name  for  the  function.   For  example,  the
  673.       following   commands   define   four   functions   to   be   plotted
  674.       simultaneously:
  675.  
  676.           Y1=SIN(X)
  677.           Y2=COS(X)
  678.           Y3=SIN(2*X)
  679.           Y4=COS(2*X)
  680.  
  681.       If  no  number  is  specified,  the  default  value is 1.  Thus, the
  682.       following two function definitions are equivalent:
  683.  
  684.           Y=2*X**2
  685.           Y1=2*X**2
  686.  
  687.       You can remove a function definition by  defining  another  function
  688.       for  the  same  dependent  variable  or  by specifying the dependent
  689.       variable without a function.  For  example,  the  following  command
  690.       removes the definition for Y2:
  691.  
  692.           Y2
  693.  
  694.       When  a  function  of a type (cartesian, polar, etc.) different from
  695.       the current type is defined, all of the currently defined  functions
  696.       are removed.
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.                                    Chapter 2
  704.  
  705.                                Mathplot Commands
  706.  
  707.  
  708.  
  709.  
  710.       The   commands  described  in  this  section  are  used  to  control
  711.       Mathplot.  When Mathplot is waiting for a  command,  the  cursor  is
  712.       positioned in the middle window of the screen.
  713.  
  714.       If  you  need  to  type a command that is longer than a single line,
  715.       you may continue a command by  typing  a  minus  sign  as  the  last
  716.       character  on  the  line to be continued.  Note that a minus sign as
  717.       the last character on  a  line  is  interpreted  by  Mathplot  as  a
  718.       continuation  marker.   It  is  NOT  used  as  a  minus  sign in the
  719.       expression.
  720.  
  721.       Commands may be abbreviated to the  first  three  letters  of  their
  722.       keyword.  Commands may be typed using upper or lower case letters.
  723.  
  724.       You  may  place  comments on commands by preceding the comment by an
  725.       exclamation  point.   For  example,  the  following  commands   have
  726.       comments:
  727.  
  728.           ! Define square wave function
  729.           Y=SIN(X)+SIN(3*X)/3       ! Approximate square wave
  730.           DOMAIN 0,2*PI             ! One cycle of the function
  731.  
  732.  
  733.       2.1 Start up Command File
  734.  
  735.       The DOS command to start Mathplot is:
  736.  
  737.           MATHPLOT  [filename]
  738.  
  739.       where  "filename"  is an optional parameter specifying the name of a
  740.       file containing commands to be executed by Mathplot as  soon  as  it
  741.       is  started.   This  start  up  command file may contain one or more
  742.       complete sets of statements to define functions and plot them.   The
  743.       default  file extension is ".FUN".  See also the descriptions of the
  744.       DO and  SAVE  commands  for  additional  information  about  command
  745.       files.
  746.  
  747.  
  748.       2.2 Initialization file
  749.  
  750.       Each  time  Mathplot  is  started  it  attempts to open a file named
  751.       MATHPLOT.INI.   If  this  file  exists,  all  commands  in  it   are
  752.       executed.   You  may  create  such  a file to contain initialization
  753.  
  754.  
  755.                                        11
  756.  
  757.       Chapter 2. Mathplot Commands                                      12
  758.  
  759.  
  760.       commands to set default values.  For example, if you  normally  like
  761.       to  have  grid  lines  turned  on,  create a file named MATHPLOT.INI
  762.       containing the command "GRID ON".   Mathplot  looks  for  this  file
  763.       first  in  the current directory and if it does not find it there it
  764.       checks to see if a MATHPLOT environment variable  has  been  defined
  765.       to  specify a directory.  The initialization file is executed before
  766.       any file specified on the command that starts Mathplot.
  767.  
  768.  
  769.       2.3 Command Arguments
  770.  
  771.       Many of the commands accept numeric arguments.  In the  descriptions
  772.       below,  the  notation  "cexpr"  is shown wherever a numeric argument
  773.       may be specified.  These numeric arguments may consist  of  numbers,
  774.       symbolic  constants,  and  expressions  using operators and built in
  775.       functions.  For example, the following is a valid DOMAIN command:
  776.  
  777.           DOMAIN -2*PI,PI*SQRT(2)
  778.  
  779.       The argument expressions may NOT contain variables such as X, Y,  R,
  780.       A, or T, or parameters such as P0 or P1.
  781.  
  782.       Arguments  shown  in  brackets are optional.  Braces around a set of
  783.       options indicate that you must choose one  of  the  options  in  the
  784.       set.
  785.  
  786.  
  787.       2.4 Alphabetical List of Commands
  788.  
  789.       2.4.1 AXES
  790.  
  791.       AXES  {ON  | OFF} (default=ON) -- Specifies whether to display axes.
  792.       Use  the  LABELS  command  to  control  whether  axis   labels   are
  793.       displayed.
  794.  
  795.       2.4.2 CALCULATE
  796.  
  797.       CALCULATE  cexpr  --  Evaluate  the specified expression, which must
  798.       contain  only  numbers,  operators,  and  built  in  functions,  and
  799.       display the result in the bottom window.
  800.  
  801.       2.4.3 CAXES
  802.  
  803.       CAXES  cexpr  (default=3)  --  Specify  the color to be used for the
  804.       axis lines and labels.
  805.  
  806.       2.4.4 CFn
  807.  
  808.       CFn cexpr (default=2,1,4,3) -- Define the  color  to  be  used  when
  809.       plotting  function  'n'.  For example, the command "CF1 3" specifies
  810.       that color 3 is to be used when plotting function 1.
  811.  
  812.       Chapter 2. Mathplot Commands                                      13
  813.  
  814.  
  815.       2.4.5 CGRID
  816.  
  817.       CGRID cexpr (default=8) -- Specify the color to  be  used  for  grid
  818.       lines.
  819.  
  820.       2.4.6 COLORBORDER
  821.  
  822.       COLORBORDER  color1 [ON color2] (default=WHITE) -- Specify the color
  823.       of the border lines.  The 'color1' and 'color2' parameters  must  be
  824.       one  of  the  following  keywords:  WHITE,  BLACK, BLUE, GREEN, RED,
  825.       CYAN,  MAGENTA,  BROWN.   The  'color1'  parameter   specifies   the
  826.       foreground  color  (i.e.,  the color of the characters).  If the "ON
  827.       color2" phrase is used 'color2' is the  background  color.   If  the
  828.       "ON  color2"  phrase is omitted, "ON BLACK" is used by default.  For
  829.       example, to get white characters on a blue background, specify:
  830.  
  831.           COLORBORDER WHITE ON BLUE
  832.  
  833.       This command (and the other COLORxxx) commands can be placed in  the
  834.       MATHPLOT.INI  initialization  file  to cause your selected colors to
  835.       be initialized automatically each time Mathplot is started.
  836.  
  837.       2.4.7 COLOREDIT
  838.  
  839.       COLOREDIT color1 [ON color2] (default=WHITE) --  Specify  the  color
  840.       of  the  center  portion  of the screen where commands are typed and
  841.       displayed.
  842.  
  843.       2.4.8 COLORHEAD
  844.  
  845.       COLORHEAD color1 [ON color2] (default=CYAN) -- Specify the color  of
  846.       the  text  in  the  heading  portion  of the screen (i.e., "ESC=Exit
  847.       F1=Plot", etc.).
  848.  
  849.       2.4.9 COLORHELP
  850.  
  851.       COLORHELP color1 [ON color2] (default=WHITE) --  Specify  the  color
  852.       of the help screen text.
  853.  
  854.       2.4.10 COLORHELPHEAD
  855.  
  856.       COLORHELPHEAD  color1  [ON  color2] (default=MAGENTA) -- Specify the
  857.       color of the heading of the help display screen.
  858.  
  859.       2.4.11 COLORMESSAGE
  860.  
  861.       COLORMESSAGE color1  [ON  color2]  (default=GREEN)  --  Specify  the
  862.       color  of  information  and  error  messages  displayed in the lower
  863.       portion of the screen.
  864.  
  865.       2.4.12 COMMONSCALE
  866.  
  867.       COMMONSCALE {ON | OFF} (default=OFF) -- If  this  option  is  turned
  868.       on,  the  X  and Y directions are forced to have the same scale.  If
  869.       this option is off, the X and Y  ranges  are  scaled  independently,
  870.  
  871.       Chapter 2. Mathplot Commands                                      14
  872.  
  873.  
  874.       which  may cause figures to be distorted - for example, a circle may
  875.       display as an ellipse.  However, turning this option on  may  result
  876.       in  one  of  the dimensions using only a small portion of the screen
  877.       if the X and Y ranges are very different.  This option is always  on
  878.       for polar function plots.
  879.  
  880.       2.4.13 CTITLE
  881.  
  882.       CTITLE  cexpr  (default=7) -- Specify the color to use for the title
  883.       line.
  884.  
  885.       2.4.14 DATA
  886.  
  887.       DATA filename -- Causes X and Y data  values  to  be  read  from  an
  888.       external  file rather than being computed from function definitions.
  889.       After the data has been read, use the PLOT command  to  display  it.
  890.       Any  function  definition  following  this  command  will  clear the
  891.       external data values and revert to function  mode.   Each  X,Y  data
  892.       pair  must  be specified as a separate line in the file with a space
  893.       separating the X value from the Y value.  The default extension  for
  894.       the file is ".DAT".
  895.  
  896.       2.4.15 DISPLAY
  897.  
  898.       DISPLAY  string  --  Display  the string in the bottom window of the
  899.       screen.  The string is displayed for 3 seconds.   This  command  may
  900.       be  placed  in command file to cause information to be printed while
  901.       the command file is being processed.
  902.  
  903.       2.4.16 DO
  904.  
  905.       DO filename -- Execute the Mathplot commands stored in  an  external
  906.       file.    This  allows  you  to  specify  a  complete  plot  request,
  907.       including functions and options, and then execute it without  having
  908.       to  retype  the  commands.  An external file may itself contain a DO
  909.       command and this nesting may be performed to a depth  of  10  files.
  910.       The  default  file  extension  is  ".FUN".   Use the LIST command to
  911.       control whether the commands in the file are displayed in  the  edit
  912.       window.  See also the description of the SAVE command.
  913.  
  914.       2.4.17 DOMAIN
  915.  
  916.       DOMAIN  cexpr1,cexpr2  (default=0,2*pi)  -- Define the domain of the
  917.       independent variable over which  the  functions  are  evaluated  and
  918.       plotted.  This command may be abbreviated to "DOM".
  919.  
  920.       2.4.18 EXIT
  921.  
  922.       EXIT  --  Stop  Mathplot  and return to DOS.  Pressing ESC will also
  923.       cause Mathplot to exit.
  924.  
  925.       Chapter 2. Mathplot Commands                                      15
  926.  
  927.  
  928.       2.4.19 GRID
  929.  
  930.       GRID {ON | OFF} (default=OFF) -- Specify whether grid lines  are  to
  931.       be displayed.
  932.  
  933.       2.4.20 HELP
  934.  
  935.       HELP  --  Display  the  help menu.  You can also do this by pressing
  936.       F3.
  937.  
  938.       2.4.21 LABEL
  939.  
  940.       LABEL {ON | OFF} (default=ON) -- Specify whether axis labels are  to
  941.       be displayed.
  942.  
  943.       2.4.22 LIST
  944.  
  945.       LIST  {ON  | OFF} (default=OFF) -- Specify whether commands executed
  946.       from an external file by subsequent use of the DO command are to  be
  947.       listed as they are executed.
  948.  
  949.       2.4.23 NUMPOINTS
  950.  
  951.       NUMPOINTS  cexpr  (default=100)  --  Specify the number of points at
  952.       which  the  functions  are  to  be  evaluated   over   the   domain.
  953.       Specifying  a larger number of points results in a smoother plot but
  954.       increases the computation time.  The maximum number of  points  that
  955.       may  be  computed  is  2000.  This command may be abbreviated to the
  956.       single letter 'N'.
  957.  
  958.       2.4.24 ORIGIN
  959.  
  960.       ORIGIN {ON | OFF} (default=OFF) -- Specify whether the origin  (0,0)
  961.       is  to  be forced to be included in the plot.  If this option is off
  962.       and the range of values does not span 0, then the origin may not  be
  963.       displayed.   Turning this option on allows the range of the function
  964.       relative to the origin to be observed, but may  result  in  a  small
  965.       scale factor if the range is far from the origin.
  966.  
  967.       2.4.25 Pn
  968.  
  969.       Pn  cexpr  --  Specify  a value for parameter Pn where 'n' is in the
  970.       range 0 to 9.  Mathplot allows  you  to  use  up  to  ten  parameter
  971.       values  in  function  specifications.   The parameters are named P0,
  972.       P1, ..., P9.  You can assign a new value to a parameter  and  replot
  973.       the function without having to retype the function.
  974.  
  975.       2.4.26 PAUSE
  976.  
  977.       PAUSE  [cexpr]  (default=0)  --  This  command  may  be  placed in a
  978.       command file to cause execution to pause until a key is  pressed  or
  979.       the  specified number of seconds elapse.  If cexpr is omitted or has
  980.       the value 0, execution pauses for an indefinite time until a key  is
  981.       pressed.
  982.  
  983.       Chapter 2. Mathplot Commands                                      16
  984.  
  985.  
  986.       2.4.27 PDEVICE
  987.  
  988.       PDEVICE  device (default=PRN) -- Allows you to specify the device or
  989.       file to which printer output is written when printing is  turned  on
  990.       by  use  of  the  PRINT ON command.  The default device is "PRN" but
  991.       you may specify another device such as LPT2 or COM.   You  may  also
  992.       direct  output  to  a disk file that you can printer later using the
  993.       DOS PRINT or COPY commands.
  994.  
  995.       2.4.28 PRESOLUTION
  996.  
  997.       PRESOLUTION value (default=150) -- Specifies whether plots  sent  to
  998.       HP  LaserJet printers should use 150 or 300 dot-per-inch resolution.
  999.       The value parameter must be 150 or 300.  The default  value  is  150
  1000.       causes  the  plots  to use most of the horizontal width of an 8.5x11
  1001.       inch  page.   These  plots  are  suitable  for  direct  transfer  to
  1002.       overhead   transparencies.    Specifying   300  for  the  resolution
  1003.       produces smaller plots that are suitable for  inclusion  in  printed
  1004.       documents.
  1005.  
  1006.       2.4.29 WIDTH
  1007.  
  1008.       WIDTH  value  (optional) -- Specify the width, in inches, of printed
  1009.       plots.  Due to memory space considerations,  the  maximum  width  is
  1010.       limited  to  about  7.9 inches for 150 DPI resolution and 4.5 inches
  1011.       for 300 DPI resolution.  If you have limited memory space,  you  may
  1012.       have  to reduce the width to be able to produce printed plots.  This
  1013.       statement is ignored unless you request that a plot be printed.
  1014.  
  1015.       2.4.30 PLOT
  1016.  
  1017.       PLOT  [cexpr]  (default=0)  --  Evaluate   the   currently   defined
  1018.       functions   and   plot  them.   If  an  optional  value  (cexpr)  is
  1019.       specified, the function is displayed for  the  specified  number  of
  1020.       seconds  or  until  a  key  is  pressed.   If  the optional value is
  1021.       omitted or is zero, the plot is displayed  for  an  indefinite  time
  1022.       until  a  key  is  pressed.   The  use of the optional value is most
  1023.       useful when the PLOT command occurs in a command  file  producing  a
  1024.       "slide  show"  of  functions.   You can also plot the function(s) by
  1025.       pressing F1.
  1026.  
  1027.       2.4.31 PRINT
  1028.  
  1029.       PRINT {ON | OFF} (default=OFF) -- Turns printer output  on  or  off.
  1030.       When  turned on, any plot displayed on the screen is also written to
  1031.       the printer (or file  as  directed  by  the  PDEVICE  command).   To
  1032.       produce  a  printed  copy of the currently defined function(s) press
  1033.       F2.
  1034.  
  1035.       2.4.32 RESET
  1036.  
  1037.       RESET -- Reset all parameters and options to  their  initial  values
  1038.       and  remove  all  function  definitions.   You can also perform this
  1039.       function by pressing F4.
  1040.  
  1041.       Chapter 2. Mathplot Commands                                      17
  1042.  
  1043.  
  1044.       2.4.33 SAVE
  1045.  
  1046.       SAVE filename -- Write the  current  function  definitions  and  the
  1047.       values  of all options and parameters to the specified file.  The DO
  1048.       command can then be used at a later time to redisplay the  function.
  1049.       The default file extension is ".FUN".
  1050.  
  1051.       2.4.34 TITLE
  1052.  
  1053.       TITLE  string  --  Define a title line to be displayed at the top of
  1054.       the plot.
  1055.  
  1056.       2.4.35 WAXES
  1057.  
  1058.       WAXES cexpr (default=3) -- Specify the width (in dots) of  the  axis
  1059.       lines  for  printed  output.   This  parameter  does  not affect the
  1060.       screen display.
  1061.  
  1062.       2.4.36 WFn
  1063.  
  1064.       WFn cexpr (default=3) -- Specify the width (in  dots)  of  the  line
  1065.       used  to draw the plot of function 'n'.  This only affects hard copy
  1066.       output.
  1067.  
  1068.       2.4.37 WGRID
  1069.  
  1070.       WGRID cexpr (default=1) -- Specify the width (in dots) of  the  grid
  1071.       lines.  This only affects hard copy output.
  1072.  
  1073.  
  1074.  
  1075.  
  1076.  
  1077.  
  1078.                                    Chapter 3
  1079.  
  1080.                              Advanced Applications
  1081.  
  1082.  
  1083.  
  1084.  
  1085.  
  1086.       3.1 Root Finding
  1087.  
  1088.       Mathplot  can  be  used to find the roots of equations.  To do this,
  1089.       turn on axis labeling (LABEL ON) and  plot  the  function  over  the
  1090.       domain  in  which a root occurs.  Observe the approximate X value at
  1091.       which the function crosses the X axis and then reset the  domain  to
  1092.       closely  span  the crossing point.  Replot the function and obtain a
  1093.       new X estimate.  After  several  iterations  you  will  be  able  to
  1094.       determine  the root to several significant digits.  For example, use
  1095.       this technique to find the root of the function:
  1096.  
  1097.           Y = X^4 - EXP(X)
  1098.  
  1099.       in the domain (2,9.5).
  1100.  
  1101.       For a course in Algebra I, Mathplot can be used to  demonstrate  the
  1102.       graphical  method  of  solving  two simultaneous linear equations by
  1103.       locating the point of  intersection.   For  an  Algebra  II  course,
  1104.       Mathplot  can  be  used  to  locate  minimum  and maximum points for
  1105.       quadratic and cubic equations.
  1106.  
  1107.  
  1108.       3.2 Multiple Domains
  1109.  
  1110.       Mathplot only allows specification of a single continuous domain  of
  1111.       values.    However,   by   using   the  multiple  function  plotting
  1112.       capability it is sometimes possible to  simulate  multiple  domains.
  1113.       For  example,  the  function X*Y=5 defines a hyperbola with branches
  1114.       in both the positive X-Y  domain  (upper  right  quadrant)  and  the
  1115.       negative  X-Y  domain  (lower  left quadrant).  The following set of
  1116.       commands defines two  parametric  functions  to  draw  each  of  the
  1117.       branches:
  1118.  
  1119.           X1=T
  1120.           Y1=5/T
  1121.           X2=-T
  1122.           Y2=-5/T
  1123.           DOMAIN 0.5,10
  1124.           LABEL ON
  1125.           COMMONSCALE ON
  1126.           PLOT
  1127.  
  1128.  
  1129.  
  1130.                                        18
  1131.  
  1132.       Chapter 3. Advanced Applications                                  19
  1133.  
  1134.  
  1135.       3.3 Interesting Functions
  1136.  
  1137.       The   following   specifications  plot  interesting  and  attractive
  1138.       functions:
  1139.  
  1140.           TITLE Four Leaved Rose
  1141.           CTITLE 4
  1142.           R=2*SIN(2*A)
  1143.           CF1 3
  1144.           DOMAIN 0,2*PI
  1145.           NUMPOINTS 150
  1146.           AXES ON
  1147.           CAXES 1
  1148.           PLOT
  1149.  
  1150.           TITLE Prolate Cycloid
  1151.           CTITLE 4
  1152.           Y=1-2*COS(T)
  1153.           X=T-2*SIN(T)
  1154.           CF1 2
  1155.           DOMAIN -4*PI,4*PI
  1156.           NUMPOINTS 400
  1157.           CAXES 1
  1158.           COMMONSCALE ON
  1159.           PLOT
  1160.  
  1161.           TITLE Hypocycloid of four cusps (Asteroid)
  1162.           CTITLE 4
  1163.           Y=SIN(T)^3
  1164.           X=COS(T)^3
  1165.           CF1 2
  1166.           DOMAIN 0,2*PI
  1167.           NUMPOINTS 100
  1168.           AXES ON
  1169.           CAXES 1
  1170.           COMMONSCALE ON
  1171.           PLOT
  1172.  
  1173.           TITLE Bifolium
  1174.           CTITLE 4
  1175.           Y=2*SIN(T)^2*COS(T)^2
  1176.           X=2*SIN(T)*COS(T)^3
  1177.           CF1 3
  1178.           DOMAIN 0,2*PI
  1179.           NUMPOINTS 100
  1180.           AXES ON
  1181.           CAXES 1
  1182.           COMMONSCALE ON
  1183.           PLOT
  1184.  
  1185.       Chapter 3. Advanced Applications                                  20
  1186.  
  1187.  
  1188.           TITLE Epicycloid
  1189.           CTITLE 4
  1190.           Y=5*SIN(T)-SIN(5*T)
  1191.           X=5*COS(T)-COS(5*T)
  1192.           CF1 3
  1193.           DOMAIN 0,2*PI
  1194.           NUMPOINTS 150
  1195.           AXES ON
  1196.           CAXES 1
  1197.           COMMONSCALE ON
  1198.           PLOT
  1199.  
  1200.  
  1201.       3.4 "Artistic" Plots
  1202.  
  1203.       When Mathplot plots a function, it evaluates  the  function  at  the
  1204.       number  of  points  specified by the last NUMPOINTS command and then
  1205.       connects the points together using straight  lines.   By  specifying
  1206.       very  large  domain  values  for  polar or parametric functions, the
  1207.       lines  connecting  the  points  span  large  distances  and  produce
  1208.       interesting  and  "artistic"  plots.   It  is  best to turn off axis
  1209.       display  (AXES  OFF,  LABELS  OFF)  and  turn  on   common   scaling
  1210.       (COMMONSCALE ON) for these plots.  Here are some examples to try:
  1211.  
  1212.           Y=SIN(T)^3
  1213.           X=COS(T)^3
  1214.           CF1 2
  1215.           DOMAIN 0,4000
  1216.           NUMPOINTS 500
  1217.  
  1218.           R=2*SIN(2*A)
  1219.           CF1 3
  1220.           DOMAIN 0,2000
  1221.           NUMPOINTS 500
  1222.  
  1223.           Y=5*SIN(T)-SIN(5*T)
  1224.           X=5*COS(T)-COS(5*T)
  1225.           CF1 3
  1226.           DOMAIN 0,6000
  1227.           NUMPOINTS 400
  1228.  
  1229.       Parametric  and  polar  functions  seem to produce the best artistic
  1230.       plots.  By varying the NUMPOINTS and DOMAIN values you  can  usually
  1231.       produce many different plots from the same functions.
  1232.  
  1233.  
  1234.  
  1235.  
  1236.  
  1237.  
  1238.                                    Chapter 4
  1239.  
  1240.                         Use and Distribution of Mathplot
  1241.  
  1242.  
  1243.  
  1244.  
  1245.       There  are  two  versions  of  the  Mathplot  program: shareware and
  1246.       registered.  You  are  welcome  to  make  copies  of  the  shareware
  1247.       version  of  Mathplot  and  pass  them  on  to  friends or post this
  1248.       program on  bulletin  boards  or  distribute  it  via  disk  catalog
  1249.       services,  CD  ROMS,  or  other  means  provided  the  entire Nonlin
  1250.       distribution is  included  in  its  original,  unmodified  form.   A
  1251.       distribution  fee  may  be  charged  for  the  cost of the diskette,
  1252.       shipping and  handling.   Vendors  are  encouraged  to  contact  the
  1253.       author to get the most recent version of Nonlin.
  1254.  
  1255.       As  a  shareware product, you are granted a no-cost, trial period of
  1256.       30 days during  which  you  may  evaluate  Mathplot.   If  you  find
  1257.       Mathplot   to  be  useful,  educational,  and/or  entertaining,  and
  1258.       continue to use it beyond the 30 day trial period, you are  required
  1259.       to  compensate  the  author by sending the registration form printed
  1260.       on page 25 (and in REGISTER.DOC) with the  appropriate  registration
  1261.       fee to help cover the development and support of Mathplot.
  1262.  
  1263.       In  return for registering, you will be authorized to continue using
  1264.       Mathplot  beyond  the  trial  period  and  you  will   receive   the
  1265.       registered  version  of  the  program,  a bound, typeset manual, and
  1266.       three months of  support  via  telephone,  mail,  or  e-mail.   Your
  1267.       registration  fee  will  be  refunded if you encounter a serious bug
  1268.       that cannot be corrected.
  1269.  
  1270.       See also the special offer for Nonlin on page 23.
  1271.  
  1272.       This  program  is  produced  by  a  member  of  the  Association  of
  1273.       Shareware  Professionals  (ASP).   ASP  wants  to make sure that the
  1274.       shareware principle works for you.  If you are unable to  resolve  a
  1275.       shareware-related  problem  with  an  ASP  member  by contacting the
  1276.       member directly, ASP may be able to help.   The  ASP  Ombudsman  can
  1277.       help  you  resolve a dispute or problem with an ASP member, but does
  1278.       not provide technical support for members' products.   Please  write
  1279.       to  the ASP Ombudsman at 545 Grover Road, Muskegon, MI 49442 or send
  1280.       a  CompuServe  message  via  CompuServe  Mail   to   ASP   Ombudsman
  1281.       7007,3536.
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290.                                        21
  1291.  
  1292.       Chapter 4. Use and Distribution of Mathplot                       22
  1293.  
  1294.  
  1295.       You are welcome to contact the author:
  1296.  
  1297.                                Phillip H. Sherrod
  1298.                                4410 Gerald Place
  1299.                           Nashville, TN 37205-3806 USA
  1300.                             615-292-2881 (evenings)
  1301.                              CompuServe: 76166,2640
  1302.                       Internet: 76166.2640@compuserve.com
  1303.  
  1304.  
  1305.       4.1 Copyright Notice
  1306.  
  1307.       Both  the  Mathplot  program  and  documentation  are  copyright (c)
  1308.       1991-1994 by Phillip H.  Sherrod.  You are not authorized to  modify
  1309.       the program.  "Mathplot" is a trademark.
  1310.  
  1311.  
  1312.       4.2 Disclaimer
  1313.  
  1314.       This  software  and  documentation are provided on an "as is" basis.
  1315.       This program may contain "bugs" and inaccuracies,  and  its  results
  1316.       should  not  be  assumed  to  be correct unless they are verified by
  1317.       independent means.  Phillip H.   Sherrod  disclaims  all  warranties
  1318.       relating  to  this software, whether expressed or implied, including
  1319.       but not limited to any  implied  warranties  of  merchantability  or
  1320.       fitness  for  a particular purpose.  Neither Phillip H.  Sherrod nor
  1321.       anyone else who has been involved in the  creation,  production,  or
  1322.       delivery  of  this  software  shall  be  liable  for  any  indirect,
  1323.       consequential, or incidental damages  arising  out  of  the  use  or
  1324.       inability  to  use  such  software,  even if Phillip H.  Sherrod has
  1325.       been advised of the possibility of  such  damages  or  claims.   The
  1326.       person  using  the  software  bears  all  risk as to the quality and
  1327.       performance of the software.
  1328.  
  1329.       This agreement shall be  governed  by  the  laws  of  the  State  of
  1330.       Tennessee  and shall inure to the benefit of Phillip H.  Sherrod and
  1331.       any successors, administrators, heirs and assigns.   Any  action  or
  1332.       proceeding  brought by either party against the other arising out of
  1333.       or related to this agreement shall be brought only  in  a  state  or
  1334.       federal  court of competent jurisdiction located in Davidson County,
  1335.       Tennessee.  The parties hereby consent to in  personam  jurisdiction
  1336.       of said courts.
  1337.  
  1338.  
  1339.  
  1340.  
  1341.  
  1342.  
  1343.                                    Chapter 5
  1344.  
  1345.                                  Other Software
  1346.  
  1347.  
  1348.  
  1349.  
  1350.  
  1351.       5.1 Nonlin
  1352.  
  1353.       If  you  like Mathplot, you should check out Nonlin -- the nonlinear
  1354.       regression analysis  program  by  the  same  author.   And,  if  you
  1355.       register  your  use  of  Mathplot and order Nonlin at the same time,
  1356.       you can get both for the special price of $60.
  1357.  
  1358.       What is regression analysis?  Regression analysis is a  mathematical
  1359.       technique  for  determining  the best values of parameters to fit an
  1360.       equation to a set of data points.  For example, you  might  want  to
  1361.       develop an equation of the form
  1362.  
  1363.           price = p0 + p1*age + p2*miles
  1364.  
  1365.       to  predict  the price of a used car based on its age and the number
  1366.       of miles driven.  With Nonlin you can collect data from car ads  and
  1367.       then perform the analysis using the following set of commands:
  1368.  
  1369.           VARIABLES PRICE,AGE,MILES
  1370.           PARAMETERS P0,P1,P2
  1371.           FUNCTION  PRICE = P0 + P1*AGE + P2*MILES
  1372.           DATA
  1373.  
  1374.       Nonlin  will  analyze  the data and determine the best values of the
  1375.       parameters P0, P1, and P2 to fit the data values.
  1376.  
  1377.       Ordinary linear regression programs  can  only  determine  parameter
  1378.       values  for  linear (straight line) equations.  Nonlin, on the other
  1379.       hand, can  handle  multivariate,  linear,  polynomial,  and  general
  1380.       nonlinear  equations.   For  example,  using  Nonlin  you can easily
  1381.       determine the best values for the parameters Offset, Amplitude,  and
  1382.       Frequency for an equation of the form:
  1383.  
  1384.           Y = Offset + Amplitude * sin(Frequency * X)
  1385.  
  1386.       Nonlin  uses  the  same  expression evaluator as Mathplot so you can
  1387.       model complicated equations using the  full  set  of  operators  and
  1388.       library functions available in Mathplot.
  1389.  
  1390.       Nonlin  comes  with  a  45  page  manual  that  explains  regression
  1391.       analysis and  gives  many  examples.   Nonlin  is  in  use  at  many
  1392.       universities and research labs around the world.
  1393.  
  1394.  
  1395.                                        23
  1396.  
  1397.       Chapter 5. Other Software                                         24
  1398.  
  1399.  
  1400.       5.2 TSX-32 Operating System
  1401.  
  1402.       If  you  have  a  need  for  a  multi-user,  multi-tasking operating
  1403.       system, you should look into TSX-32.   TSX-32  is  a  full-featured,
  1404.       high  performance,  multi-user  operating system for the 386 and 486
  1405.       that  provides  both  32-bit  and  16-bit  program  support.    With
  1406.       facilities  such  as  multitasking  and  multisessions,  networking,
  1407.       virtual memory, X-Windows, background batch  queues,  data  caching,
  1408.       file   access   control,  real-time,  and  dial-in  support,  TSX-32
  1409.       provides a solid environment for a wide range of applications.
  1410.  
  1411.       A two user, shareware version of  TSX-32  called  TSX-Lite  is  also
  1412.       available.
  1413.  
  1414.       TSX-32  is not a limited, 16-bit, multi-DOS add-on.  Rather, it is a
  1415.       complete 32-bit  operating  system  which  makes  full  use  of  the
  1416.       hardware's  potential,  including  protected mode execution, virtual
  1417.       memory, and demand paging.  TSX-32 sites range  from  small  systems
  1418.       with  2-3  terminals  to  large  installations  with  more  than  64
  1419.       terminals on a single 386.
  1420.  
  1421.       In addition to supporting most popular 16-bit DOS  programs,  TSX-32
  1422.       also  provides  a 32-bit "flat" address space with both Phar Lap and
  1423.       DPMI compatible modes of execution.
  1424.  
  1425.       Since the DOS  file  structure  is  standard  for  TSX-32,  you  can
  1426.       directly  read  and  write  DOS disks.  And, you can run DOS part of
  1427.       the time and TSX-32 the rest of the time on the same computer.
  1428.  
  1429.       TSX-32 allows each user to control up to 10 sessions.  Programs  can
  1430.       also  "fork" subtasks for multi-threaded applications.  The patented
  1431.       Adaptive Scheduling Algorithm provides  consistently  good  response
  1432.       time under varying conditions.
  1433.  
  1434.       The   TSX-32   network  option  provides  industry  standard  TCP/IP
  1435.       networking through Ethernet and serial lines.  Programs  can  access
  1436.       files  on  remote  machines  as easily as on their own machine.  The
  1437.       SET HOST command allows a user on one machine to  log  onto  another
  1438.       computer  in  the  network.   FTP, Telnet, and NFS are available for
  1439.       interoperability with other systems.
  1440.  
  1441.       System requirements: 386 or 486 system, 4MB  memory,  12MB  of  free
  1442.       disk space (Stacker and DoubleSpace are not supported).
  1443.  
  1444.       TSX-32  is the best and most powerful operating system available for
  1445.       the 386 and 486.  For additional information contact:
  1446.  
  1447.                            S&H Computer Systems, Inc.
  1448.                              1027 17th Avenue South
  1449.                             Nashville, TN 37212 USA
  1450.                               615-327-3670 (voice)
  1451.                                615-321-5929 (fax)
  1452.                               CompuServe: 71333,27
  1453.                        Internet: 71333.27@compuserve.com
  1454.  
  1455.        =================================================================
  1456.                               Software Order Form
  1457.        =================================================================
  1458.  
  1459.       Name ______________________________________________________
  1460.  
  1461.       Address ___________________________________________________
  1462.  
  1463.       City _______________________  State _______ Zip ___________
  1464.  
  1465.       Country ____________________  Telephone ___________________
  1466.  
  1467.       Internet address (optional) _______________________________
  1468.  
  1469.       Mathplot version you currently have _______________________
  1470.  
  1471.       Bulletin board where you found Mathplot ___________________
  1472.  
  1473.       Comments __________________________________________________
  1474.  
  1475.       Check the box below which indicates your order type:
  1476.  
  1477.           ___ I wish to register Mathplot ($20).
  1478.  
  1479.           ___ I wish to order Nonlin ($45).
  1480.  
  1481.           ___ I wish to register Mathplot and order Nonlin ($60).
  1482.  
  1483.       Add $5 to any amount shown above if the software  is  being  shipped
  1484.       out  of  the  United  States.   I  cannot  accept checks from non-US
  1485.       banks.  Visa, MasterCard and American Express  credit  card  charges
  1486.       are  accepted  but  a  check, money order, or cash is preferred.  If
  1487.       you wish to use a credit card specify  the  billing  name,  address,
  1488.       card number, and expiration date.
  1489.  
  1490.       In  return  for registering, you will receive the registered version
  1491.       of the program, a laser-printed,  bound  copy  of  the  manual,  and
  1492.       three  months of telephone or CompuServe support.  Your registration
  1493.       fee will be refunded if you  find  a  serious  bug  that  cannot  be
  1494.       corrected.
  1495.  
  1496.       Distribution disk choice (check one):
  1497.  
  1498.             3.50" HD (1.4 MB)  ______
  1499.             5.25" HD (1.2 MB)  ______
  1500.             5.25" DD (360 KB)  ______
  1501.  
  1502.       Send this form with the amount indicated to the author:
  1503.  
  1504.                                Phillip H. Sherrod
  1505.                                4410 Gerald Place
  1506.                          Nashville, TN  37205-3806 USA
  1507.  
  1508.                             615-292-2881 (evenings)
  1509.                              CompuServe: 76166,2640
  1510.                       Internet: 76166.2640@compuserve.com
  1511.  
  1512.       Index                                                             26
  1513.  
  1514.  
  1515.       Abbreviating commands, 11           DEG function, 6
  1516.       ABS function, 6                     Device for output, 16
  1517.       ACOS function, 6                    Disclaimer, 22
  1518.       Arc cosine, 6                       DISPLAY command, 14
  1519.       Arc sine, 6                         DO command, 14
  1520.       Arc tangent, 6                      DOMAIN command, 14
  1521.       Artistic plots, 20                  Domains
  1522.       ASIN function, 6                       multiple, 18
  1523.       ASP, 21                             Edit area color, 13
  1524.       Asteroid, 19                        EI1 function, 6
  1525.       ATAN function, 6                    EI2 function, 7
  1526.       AXES command, 12                    EIC1 function, 7
  1527.       Bessel function, 7, 8               EIC2 function, 7
  1528.       Beta function, 6                    Elliptic integral, 6, 7
  1529.       BETAI function, 6                   Epicycloid, 20
  1530.       Bifolium, 19                        ERF function, 7
  1531.       Border color, 13                    Error color, 13
  1532.       Build-in functions, 6               EXIT command, 14
  1533.       Calculate command, 12               EXP function, 7
  1534.       Cartesian functions, 8              Exponential, 7
  1535.       CAXES command, 12                   Exponentiation operator, 5
  1536.       CFn command, 12                     External command file, 14
  1537.       CGRID command, 13                   External data file, 14
  1538.       Chebyshev polynomial, 8             FAC function, 7
  1539.       Color                               Factorial, 7
  1540.          of axes, 12                      Four leaved rose, 19
  1541.          of border, 13                    GAMMA function, 7
  1542.          of edit area, 13                 GAMMALN function, 7
  1543.          of errors, 13                    GAMMI function, 7
  1544.          of function, 12                  Grid color, 13
  1545.          of grid, 13                      GRID command, 15
  1546.          of heading, 13                   HAV function, 7
  1547.          of help, 13                      Haversine, 7
  1548.          of messages, 13                  Heading color, 13
  1549.          of title, 14                     Help color, 13
  1550.       COLORBORDER command, 13             HELP command, 15
  1551.       COLOREDIT command, 13               Hyperbolic cosine, 6
  1552.       COLORHEAD command, 13               Hyperbolic sine, 8
  1553.       COLORHELP command, 13               Hyperbolic tangent, 8
  1554.       COLORHELPHEAD command, 13           Hypocycloid, 19
  1555.       COLORMESSAGE command, 13            Initialization file, 11
  1556.       Comments, 11                        Interesting functions, 19
  1557.       COMMONSCALE command, 13             Inverse gamma, 7
  1558.       Continuing lines, 11                J0 function, 7
  1559.       Copyright notice, 22                J1 function, 7
  1560.       COS function, 6                     JN function, 7
  1561.       Cosecant function, 6                LABEL command, 15
  1562.       COSH function, 6                    LIST command, 15
  1563.       COT function, 6                     LOG function, 7
  1564.       Cotangent function, 6               Log gamma, 7
  1565.       CSC function, 6                     LOG10 function, 7
  1566.       CTITLE command, 14                  Long lines, 11
  1567.       Curve fitting, 23                   MATHPLOT.INI, 11
  1568.       Cycloid, 19                         MAX function, 7
  1569.       DATA command, 14                    Message color, 13
  1570.  
  1571.       Index                                                             27
  1572.  
  1573.  
  1574.       MIN function, 7                     WGRID command, 17
  1575.       Multiple domains, 18                WIDTH command, 16
  1576.       Nonlin, 23                          Y0 function, 8
  1577.       Nonlinear regression, 23            Y1 function, 8
  1578.       NORMAL function, 7                  YN function, 8
  1579.       NPD function, 7
  1580.       Numeric constants, 5
  1581.       NUMPOINTS command, 15
  1582.       Operator precedence, 5
  1583.       Order form, 25
  1584.       ORIGIN command, 15
  1585.       Parameter values, 5, 15
  1586.       Parametric functions, 9
  1587.       PAREA function, 7
  1588.       PAUSE command, 15
  1589.       PDEVICE command, 16
  1590.       PI constant, 5
  1591.       PLOT command, 16
  1592.       Pn command, 15
  1593.       Polar functions, 9
  1594.       Precedence of operators, 5
  1595.       PRESOLUTION command, 16
  1596.       PRINT command, 16
  1597.       Printer resolution, 16
  1598.       Probability distribution, 7
  1599.       Prolate cycloid, 19
  1600.       PULSE function, 8
  1601.       RAD function, 8
  1602.       REGISTER.DOC, 21
  1603.       Registration form, 25
  1604.       Regression analysis, 23
  1605.       RESET command, 16
  1606.       Resolution of printer, 16
  1607.       Root finding, 18
  1608.       Rose figure, 19
  1609.       SAVE command, 17
  1610.       Scaling, 13
  1611.       SEC function, 8
  1612.       Secant, 8
  1613.       SIN function, 8
  1614.       SINH function, 8
  1615.       SQRT function, 8
  1616.       Standard error function, 7
  1617.       Start up file, 11
  1618.       STEP function, 8
  1619.       Symbolic constants., 5
  1620.       T function, 8
  1621.       TAN function, 8
  1622.       TANH function, 8
  1623.       Title color, 14
  1624.       TITLE command, 17
  1625.       Trademark notice, 22
  1626.       TSX-32, 24
  1627.       WAXES command, 17
  1628.       WFn command, 17
  1629.