Help File for WL-Plot                        Last Modified November 7, 1996
THIS FILE IS FORMATTED FOR USE BY WL-PLOT.  DO NOT EDIT THE FILE IN ANY
WAY!
~begindeclarations
~wlplot -45763
~functions -44627
~conic_sections -44145
~derivatives -43734
~relation -43341
~bifurcations -42809
~recursions -41863
~curve_fit -41296
~use_cga -40741
~reverse_screen -40057
~exit -39446
~rpn -39332
~entering_function -38417
~cartesian -36761
~polar -36322
~parametric -35898
~steps -35654
~radian_mode -34971
~show_axis -34692
~grid -34368
~overlay -34042
~inverse -33655
~log_axis -33315
~reset_plotting_area -32394
~min_max -32228
~purge -31402
~variable_values -31128
~domain -30114
~domain_based_on_x_min_max -29348
~plot -28899
~view -28671
~print -28533
~save -28156
~retrieve -27629
~save_pcx -27096
~retrieve_pcx -26390
~quit -25686
~conic_type -25565
~conic_steps -24671
~focal_points -24309
~conic_standard_variable_values -23992
~conic_general_variable_values -22918
~show_function -21962
~deriv_min_max -21458
~integral_constant -20198
~relat_entering_functions -19352
~resolution -18238
~relat_variable_values -17444
~relat_plot -16539
~bifurc_entering_functions -15955
~bifurcation_recursion_loops -15069
~recurs_entering_functions -13938
~recursion_loops -12798
~clear_data_points -11847
~number_of_data_points -11655
~edit_data_points -11295
~cfit_linear_type -10116
~cfit_exp_type -9927
~cfit_log_type -9685
~cfit_pow_type -9479
~cfit_poly_type -9253
~cfit_best_type -8628
~cfit_none_type -8364
~cfit_plot -7730
~cfit_save -7404
~cfit_retrieve -6604
~automatic -5402
~cfit_min_max -4935
~scale -4717
~scale_title -4545
~axis_interval -4321
~cfit_overlay -4039
~cfit_steps -3269
~cfit_plotchar -2819
~plot_title -2331
~axis_title -1967
~cfit_plot_graph -1754
~cfit_return_menu -1529
~zoom -1371
~enddeclarations

~wlplot
                               WL-Plot 2.70
                      Copyright 1990-96, Wesley Loewer

WL-Plot stands for "Wesley Loewer's Plotting Program."  This program was
written in response to the need for simple yet effective tools specifically
designed for classroom use.  Feel free to make copies of WL-Plot for anyone
who can make use of it.

This program is available free of charge for educational use only.  I would
appreciate a post-card from anyone who uses the program.  This serves no
purpose other than to give me a pat on the back and to let me know that I
have contributed to the education of more people than I could have reached
directly.  If WL-Plot should prove useful to someone outside of an
educational setting (such as in a job or even research), the file
WLPLOT.DOC contains information on purchasing WL-Plot for such use.

Send any questions, suggestions, inservice inquiries, etc... to:
     Wesley B. Loewer             (address valid through summer 1997)
     1901 Yates St.
     Fort Worth, TX  76115
     U.S.A
     (817) 921-9828

     Internet: loewer@tenet.edu
~
~functions
                                 Functions

The Functions module allows the user to graph functions using either
Cartesian or Polar coordinates.  Also, the user can graph Parametric graphs
in Cartesian coordinates where the horizontal and vertical variables are
both functions of a third independent variable.

The user can skip the menu and go straight to the Function module by
entering "wlplot functions" or just "wlplot f" at the DOS command line.
~
~conic_sections
                              Conic Sections

This module allows the user to easily graph the various quadratic (degree
2) equations: Parabolas, Circles, Ellipses, and Hyperbolas as well as the
degenerate cases: Lines, Parallel Lines, and Points.

The user can skip the menu and go straight to the Conics module by entering
"wlplot conics" or just "wlplot co" at the DOS command line.
~
~derivatives
                          Derivatives & Integrals

The Derivatives & Integrals module will graph functions, 1st derivatives,
2nd derivatives and indefinite integrals.  These can be plotted at the same
time or individually.

The user can skip the menu and go straight to the Derivatives module by
entering "wlplot derivatives" or just "wlplot d" at the DOS command line.
~
~relation
                             Relation Plotter

The Relation Plotter module is a slow, but extremely powerful grapher.  It
allows the user to graph relations that are not necessarily functions. 
This is very useful for situations in which it is difficult, or even
impossible, to solve for one variable.  It can also be used for systems of
inequalities.

The user can skip the menu and go straight to the Relation Plotter module
by entering "wlplot relation" or just "wlplot rel" at the DOS command line.
~
~bifurcations
                               Bifurcations

Bifurcations are a type of fractal that is based on a recursive formula,
that is, a formula in which the dependent variable is a function of both
the independent variable and itself.  The dependent variable must start off
with some initial value.  The formula is evaluated and this result is then
plugged back into the formula for the dependent variable.  This process is
reiterated numerous times.  Often, the resultant values will start
repeating, or repeating every other time, every fourth time, etc...  When
the pattern changes from every n'th time to 2n'th time, the graph is said
to bifurcate, or split.  On the other hand, the values may start bouncing
around with no apparent pattern and is said to be "Chaotic."

The user can skip the menu and go straight to the Bifurcation module by
entering "wlplot bifurcation" or just "wlplot b" at the DOS command line.
~
~recursions
                            Recursive Relations

The Recursive Relation Module allows a user to enter a recursive relation
in a such a manner that both the horizontal and vertical components can
depend on previous values.  This can be very useful in determining the
attractors in certain fractals, such as the Henon Map and the "orbits"
involved in calculating such things as the Mandelbrot Set.

The user can skip the menu and go straight to the Recursive module by
entering "wlplot recursion" or just "wlplot rec" at the DOS command line.
~
~curve_fit
                               Curve Fitting

The Curve Fitting Module allows the user to enter a set of data points and
find a "best fit" line or curve according to various mathematical models. 
The models included in this program are Linear, Exponential, Logarithmic,
Power, and Polynomial (up to degree 9).  The user can also enter titles and
labels appropriate for a lab course.

The user can skip the menu and go straight to the Curve Fitting module by
entering "wlplot curve-fit" or just "wlplot cf" at the DOS command line.
~
~use_cga
                             Use CGA Graphics

The Use CGA Graphics option forces WL-Plot to use CGA graphics mode, even
if VGA mode is available.  This is useful if the DOS version being used is
earlier than 4.0.  Prior to this version, DOS's GRAPHICS command did not
come with the capability of printing graphic screens in any mode other than
CGA mode.

The option can also be turned on from the command line by entering
"wlplot /cga" at the command prompt.  If this is done, then WL-Plot can be
run with about 20K less memory available.  If the Use CGA Graphics option
is turned on at the command line, it cannot be turned off within the
program.
~
~reverse_screen
                           Graph Black on White

Reverses the image such that the graphs are plotted black on a white
background.  This is useful for importing the image into other graphics
programs.

Note: 
This option should not be changed when printing from within the WL-Plot
program as the built in print command already reverses the image. 
Reversing it again would cause the printer to print white on black, which
would waste a lot of black ink.  If you want to graph black on white and
still be able to print from within WL-Plot, run the setup program and
select Black on White.
~
~exit
                                   Exit

Short-Cut key: <Alt-X>

Exits WL-Plot and returns to DOS.
~
~rpn
                          Algebraic & RPN Syntax

Normally, Algebraic mode is recommended.  This allows the user to enter
equations much like they would be written on paper.  To use Algebraic
notation, leave the RPN option turned off.  Occasionally, RPN may be
desired to speed up the graphing process or for compatibility with certain
calculators.

Algebraic Mode (RPN Mode off)
( ) RPN mode - Equations are entered in Algebraic notation
     Examples: 3x+1
               sin Θ
               amp sin w(t-φ)
               sqrt(sq(mass)+1)^sqrt(sq(mass)+1)
               √(mass²+1)->t t^t

RPN Mode:
(X) RPN mode - Equations are entered in post-fix notation, also called
     Reverse Polish Notation (RPN).
     Examples: 3 x * 1 +
               Θ sin
               amp w t φ - * sin *
               mass sq 1 + sqrt dup ^
               mass ² 1 + √ ->t t t ^
~
~entering_function
                            Entering a Function              ┌────────────┐
                                                             │Order of Op.│
keys:<LEFT>,<RIGHT> - Moves one space in either direction.   │ ()         │
     <CTRL-LEFT>,<CTRL-RIGHT> - Moves a word at a time.      │functions   │
     <HOME>,<END> - Moves to the beginning or end of line.   │ ^          │
     <INSERT> - Switch between insert and typeover mode.     │implied mult│
     <BACK>,<DEL> - Erases characters to the left or right.  │implied ()  │
                                                             │ * / mod    │
Valid constants, functions and operators:                    │ + -        │
+ - * / ^   < > <= >= = <>   |x|   Σ Γ √ ² !   e π ∞   ->    │ = <>       │
abs    acos   acosh  acot   acoth  acsc   acsch  alog   and  │ < > <= >=  │
asec   asech  asin   asinh  atan   atan2  atanh  ceil   comb │ and        │
cos    cosh   cot    coth   csc    csch   degrad drop   dup  │ xor        │
exp    fact   floor  frac   gamma  if     inf    int    inv  │ or         │
isreal j_0    j_1    j_n    ln     log    logb   max    min  │ ->         │
mod    neg    or     perm   pi     pop    prod   push  raddeg└────────────┘
rand   rcl    roll   round  sec    sech   sgn    sign   sin   sinh   sq
sqrt   sto    sum    swap   tan    tanh   xor    y_0    y_1   y_n

Special Characters - Hold the <Ctrl> and press key to get character
      key: a  b  d  e  f  F  g  G  i  m  o  p  s  S  t  2  Shift-2
character: α  ß  δ  ε  φ  Φ  τ  Γ  ∞  µ  Ω  π  σ  Σ  Θ  ²    √
(See Users Manual under "Entering Equations" for more details.)
~
~cartesian
                            Cartesian Plot Type

 (1) Cartesian Plots a single equation function with the vertical axis
               (dependent variable) as a function of the horizontal axis
               (independent variable).

 (2) Cartesian Plots two equations simultaneously with the vertical axis
               (dependent variable) as a function of the horizontal axis
               (independent variable).
~
~polar
                              Polar Plot Type

 (1) Polar     Plots a single equation with the radius (dependent variable)
               as a function of the angle (independent variable) measured
               in radians.

 (2) Polar     Plots two equations with the radius (dependent variable) as
               a function of the angle (independent variable) measured in
               radians.
~
~parametric
                           Parametric Plot Type
 
 (*) Parametric

Plots a relation defined by two functions, one for the vertical axis and
one for the horizontal axis.  Each function must have the same independent
variable.
~
~steps
                                   Steps
 
 steps = 160

Normally, the number of steps indicates how many points the plotter should
sample in the domain to determine the shape of the relation.  Increasing
the domain will not increase the number of sample points taken.  The more
steps taken, the more accurate the graph, but the longer it will take. 
Values may range from 1 to 65535, but values less than 30 give poor
results.

When using the Polar or Parametric Plot Type, the number of steps indicates
how many sample points to take for every 2π units in the domain. 
Increasing the domain will in turn increase the number of sample points
taken.
~
~radian_mode
                               Radians Mode

 (X) Radians - on
 ( ) Radians - off

When the Radians Mode is turned on, trigonometric functions interpret
angles to be in units of radians.  When turned off, angles are interpreted
to be in units of degrees.
~
~show_axis
                                 Show Axis

 (X) Show Axis - on
 ( ) Show Axis - off

Normally, the X-Y axis is shown when a relation is graphed.  Turning this
option off prevents the axis from being shown.  If the Show Axis option is
turned off, then the Grid option is automatically turned off as well.
~
~grid
                                   Grid

 ( ) Grid - off
 (X) Grid - on

Normally, a grid is not shown when a relation is graphed.  Turning this
option on causes the plotter to show dashed lines corresponding to the
scale.  In Polar Plotting Type, the grid is a polar grid with angle marking
every 15°.
~
~overlay
                                  Overlay

 ( ) Overlay graph - off
 (X) Overlay graph - on

Turning this option on allows the plotter to lay one graph over another,
thereby showing both the old and the new graphs.  If the Overlay option is
turned on, the axis are not redrawn.  There is no limit to the number of
graphs that can be overlaid on top of each other.
~
~inverse
                             Inverse Function

 ( ) Inverse Function - off
 (X) Inverse Function - on

This option causes the inverse of the function to be graphed.  That is, the
x and y coordinates are swapped, flipping the graph over the line y=x.

The Inverse Function option is not allowed with the log options.
~
~log_axis
                            Logarithmic Scales

 ( ) Log on x axis - off
 (X) Log on x axis - on

 ( ) Log on y axis - off
 (X) Log on y axis - on

Normally, the increments along an axis form an arithmetic sequence, such as
1, 2, 3, 4,... or 5, 10, 15, 20,... where the difference between one number
and the next is a constant.  A logarithmic scale is one in which the
increments along the axis form a geometric sequence, such as 0.1, 1, 10,
100,...  The values are shown on the axis are the common logarithm of the
actual values.  Therefore, the values 0.01, 0.1, 1, 10, 100 would be shown
as -2, -1, 0, 1, 2.  This is very useful for showing a very large range of
values.  Notice that since the logarithm of a negative number is not a real
value, actual negatives can not be graphed on a logarithmic scale.

The log options are not allowed with the Inverse Function option.
~
~reset_plotting_area
                            Reset Plotting Area

Selecting Reset Plotting Area returns the x-min, x-max, y-min, and y-max to
their original values.
~
~min_max
                       Minimum/Maximum Plotting Area

 x min = -10        x max = 10
 y min = -7.5       y max = 7.5

The min/max numbers represent the left, right, bottom, and top values of
the graph.  On a logarithmic scale, they represent the logarithm of these
values.  If the "domain based on  x min/max" option is turned on and a
Cartesian type plot is selected, then changing the plotting area's x
min/max automatically changes the values of the domain.

Expressions can be used such "-2π" or "√5" or "asin(.5)" or even "ln(1+p²)"
provided that 'p' is already defined and has been given a value.  Use the
<Ctrl-P> key combination to get the 'π' character, <Ctrl-2> to get the '²'
character, and <Ctrl-Shift-2> to get the '√' character.

See also: Domain min/max, domain based on x min/max.
~
~purge
                          Purge Unused Constants

Eliminates any variables or constant which are no longer being used in an
equation.  This can be useful to use after changing equations with
different variable names or after typographical errors.
~
~variable_values
                         Entering Constant Values

amp = 4
w = 3
t = <independent variable>
φ = 0.25

An equation such as "f(t)=amp*sin(w*t-φ)" can be entered with up to 10
variable names.  The user can then easily change the value of "amp", "w",
or "φ" with out having to reenter or edit the equation.

WL-Plot makes no assumption about which variable is the horizontal
independent variable.  This allows the user to have full control over the
interpretation of the equation.  To change the value of a variable, simply
move to that variable and enter a new value.  To indicate which variable is
the independent variable, enter an "i" (for independent) or "h" (for
horizontal) without the quotes.

Expressions can be used such "-2π" or "√5" or "asin(.5)" or even "ln(1+p²)"
provided that 'p' is already defined and has been given a value.  Use the
<Ctrl-P> key combination to get the 'π' character, <Ctrl-2> to get the '²'
character, and <Ctrl-Shift-2> to get the '√' character.
~
~domain
                              Domain Min/Max

  x min = -10
  x max = 10

The domain minimum and maximum values determines the beginning and ending
value of the independent variable during the plotting process.  If the
"domain based on  x min/max" option is turned on and a Cartesian type plot
is selected, then changing the domain automatically changes the x min/max
values in the plotting area.

Expressions can be used such "-2π" or "√5" or "asin(.5)" or even "ln(1+p²)"
provided that 'p' is already defined and has been given a value.  Use the
<Ctrl-P> key combination to get the 'π' character, <Ctrl-2> to get the '²'
character, and <Ctrl-Shift-2> to get the '√' character.

See also: domain based on x min/max.
~
~domain_based_on_x_min_max
                         Domain Based on X Min/Max

 (X) Domain based on x min/max - on
 ( ) Domain based on x min/max - off

When this option is on and a Cartesian type plot is being graphed, then
changing either the x min/max in the Plotting Area or the Domain min/max,
automatically causes the other to changed as well.  Turning the option off
allows the user to show more of the independent axis than what is in the
domain.
~
~plot
                                   Plot

Short-Cut keys: <Right-Mouse-Button>, <Ctrl-Enter>

Selecting Plot causes WL-Plot to parse and graph the equation.  Either of
the short-cut keys can be used at any time.
~
~view
                                   View

Short-Cut keys: <Alt-V>

Selecting View displays the last plot made by WL-Plot.
~
~print
                                   Print

Short-Cut keys: <Alt-P>

Causes the graph to be printer on a printer.  The GRAPHICS utility
(supplied with DOS) must be run before the image can be printed.  To have
WL-Plot run the GRAPHICS utility automatically with the proper printer
selected, run the SETUP program prior to starting WL-Plot for the first
time.
~
~save
                                   Save

Short-Cut keys: <Alt-S>

Selecting Save causes WL-Plot to list out the previously saved file names
and prompts the user to enter a name.  The file name extension (the 3
characters after the period) is not required.  If a mouse is being used,
the user can double-click on a name already listed in order to select that
file name.  The file includes all the information to regenerate the graph,
such as the equation, plot type, plotting area, and variable values.
~
~retrieve
                                 Retrieve

Short-Cut keys: <Alt-R>

Selecting Retrieve causes WL-Plot to list out the previously saved file
names and prompts the user to enter a name.  The file name extension (the 3
characters after the period) is not required.  If a mouse is being used,
the user can double-click on a name already listed in order to select that
file name.  The file includes all the information to regenerate the graph,
such as the equation, plot type, plotting area, and variable values.
~
~save_pcx
                                 Save-PCX

Selecting Save-PCX causes WL-Plot to list out the previously saved PCX file
names and prompts the user to enter a name.  The file name extension (the
".pcx") is not required.  If a mouse is being used, the user can double-
click on a name already listed in order to select that file name.  The file
includes only an image of the graph itself.  It does not include any
information about the equation, plotting area, variable values, etc...

The PCX format is commonly used by other graphics packages and by some word
processors.  The option allows the user to save a graph and then import the
image into one of these other programs.
~
~retrieve_pcx
                               Retrieve-PCX

Selecting Retrieve-PCX causes WL-Plot to list out the previously saved PCX
file names and prompts the user to enter a name.  The file name extension
(the ".pcx") is not required.  If a mouse is being used, the user can
double-click on a name already listed in order to select that file name. 
The file includes only an image of the graph itself.  It does not include
any information about the equation, plotting area, variable values, etc...

The PCX format is commonly used by other graphics packages and by some word
processors.  The option allows the user to import a black and white picture
created by another program into WL-Plot.
~
~quit
                                   Quit

Short-Cut keys: <Alt-Q>

Exits out of the current module.
~
~conic_type
                            Conic Section Type

  ( ) Circle
  ( ) Ellipse
  (V) Parabola
  ( ) Hyperbola
  ( ) Intersecting Lines
  ( ) Parallel Lines
  ( ) Single Line
  ( ) Single Point

The type of conic section to be graphed is selected from the above list. 
Of the four types of conic sections (Circle, Ellipse, Parabola, Hyperbola),
the Parabola and Hyperbola have both horizontal and vertical versions
indicated by an 'H' or 'V' respectively.

Besides the normal four conic sections, the degenerate cases can also be
graphed.  These shapes are formed when a conic section is taken to an
extreme limit such as when the radius of a circle is zero (Single Point),
when a parabola is infinitely flat (Single Line), when a hyperbola is
infinitely flat (Parallel Lines), or when the focal points of a hyperbola
are the same point (Intersecting Lines).
~
~conic_steps
                            Conic Section Steps
 
 steps = 160

The number of steps indicates how many points the plotter should sample to
determine the shape of the relation.  The more steps taken, the more
accurate the graph, but the longer it will take.  Values may range from 1
to 65535, but values less than 30 give poor results.
~
~focal_points
                         Focal Points & Asymptotes

  ( ) Focal Points & Asymptotes - off
  (X) Focal Points & Asymptotes - on

Selecting Focal Points & Asymptotes will cause the plotter to place a dot
where the focal points are and a dashed line where the asymptotes are.
~
~conic_standard_variable_values
             Entering Conic Standard Equation Constant Values

h = 4
k = 3
a = 2
b = 5
   rotation Θ = 45°
slope = tan Θ = 1.0

To change the value of a variable, simply move to that variable and enter a
new value.  An angle of rotation can be given in degrees.  Alternately, the
tangent of the angle may be entered, but doing so limits the angle of
rotation from -90° to 90°.  Expressions can be used such "-2π²" or "√5". 
Use the <Ctrl-P> key combination to get the 'π' character, <Ctrl-2> to get
the '²' character, and <Ctrl-Shift-2> to get the '√' character.

As values are changed in the Standard Equation Constants, the values in the
General Equation Constants below are automatically updated.  Switching
between the Standard and General section may change the Standard Equation
somewhat, even to another conic section type or rotation, but will keep the
same shape.  For example: an ellipse with a=2 and b=2 is a circle with r=2;
or a line with the equation "2x+6y=14" has the same graph that "x+3y=7"
does.
~
~conic_general_variable_values
              Entering Conic General Equation Constant Values

A = 1
B = 0
C = 1
D = 0
E = 0
F = -1

To change the value of a variable, simply move to that variable and enter a
new value.  Expressions can be used such "-2π²" or "√5" or "asin(.5)".  Use
the <Ctrl-P> key combination to get the 'π' character, <Ctrl-2> to get the
'²' character, and <Ctrl-Shift-2> to get the '√' character.

As values are changed in the General Equation Constants, the type of conic
section selected (Ellipse, Parabola, etc...) as well as the values in the
Standard Equation Constants above are automatically updated.  Switching
between the Standard and General section may change the Standard Equation
somewhat, even to another conic section type or rotation, but will keep the
same shape.  For example: an ellipse with a=2 and b=2 is a circle with r=2;
or a line with the equation "2x+6y=14" has the same graph that "x+3y=7"
does.
~
~show_function
               Show Integral, Function, 1st & 2nd Derivative

 ( ) Show Indefinite Integral - off
 (X) Show Function            - on
 (X) Show 1st Derivative      - on
 ( ) Show 2nd Derivative      - off

The indefinite integral, the function itself, and its 1st derivative and
2nd derivative can be shown one at a time or in any combination, but always
in that order.  Turning the various options on or off gives the user full
control over what is displayed on the graph.
~
~deriv_min_max
      Integral, Function, & Derivative Minimum/Maximum Plotting Area

  x  min = -10        x  max = 10
  Sf min = -4         Sf max = 4
  f  min = -4         f  max = 4
  f' min = -4         f' max = 4
  f" min = -4         f" max = 4

The x min/max numbers represent the left and right values of the graph. 
The Sf min/max, f min/max, f' min/max, and f" min/max represent the bottom
and top of the graph of the function's indefinite integral, the function
itself, its 1st derivative, and its 2nd derivative respectively.  If the
"domain based on  x min/max" option is turned on, then changing the
plotting area's x min/max automatically changes the values of the domain. 
Since the integrals are indefinite, the plotter tries to select a
reasonable integration constant.  If the integral graph is too far off the
screen, then the Sf min/max values may need to be adjusted.
 
Expressions can be used such "-2π" or "√5" or "asin(.5)" or even "ln(1+p²)"
provided that "p" is already defined and has been given a value.  Use the
<Ctrl-P> key combination to get the 'π' character, <Ctrl-2> to get the '²'
character, and <Ctrl-Shift-2> to get the '√' character.

See also: Domain min/max, domain based on x min/max.
~
~integral_constant
                            Integral Constants

 ( ) Integral Constant based on average - off
 (X) Integral Constant based on average - on

The integrals that are graphed are indefinite integrals.  WL-Plot can
determine a reasonable integration constant, or the user can set the
constant manually.  If the "based on average" option is turned off and the
"Integral through x" value is within the domain, then the graph of the
indefinite integral will pass through the point determined by the x and y
values of the following options.

     Integral through x = 0
                      y = 0

If the "based on average" option is turned on, or if the selected "Integral
through x" value is not in the domain, then the program displays the
integral such that its average value over the domain is zero.
~
~relat_entering_functions
                            Entering Relations

keys: See Help under Functions module for more information.

  0 = abs(x-y)^(x-y) - y

To enter an algebraic relation, solve the equation for zero.  In the
example shown above, the equation "y=abs(x-y)^(x-y)" was solved for zero by
bringing the "y" to the other side.  During the graphing process, when the
right side of the equation is evaluated to be greater than zero, it is
shaded with a solid shading.  If the value is less than or equal to zero,
it is shaded with dots.  If the value is not real, then no shading at all
takes place.  The border between the regions represent the zero's of the
relation, or possibly the discontinuities.

  0 = x<5 and 2y>x and y+x>3 and y-x<4

To enter a system of inequalities, simply list the conditions connected
with "and" or "or" as the case may be.  During the graphing process, when
the right side of the equation is evaluated to be true, it is shaded with a
solid shading.  If it is false, it is shaded with dots.

See: Constants for declaring horizontal and vertical variables.
~
~resolution
                                Sample Size

  Horizontal Sample Size = 16
  Vertical Sample Size   = 12

The Sample Size determines how accurately the Relation Plotter will graph
the relation.  The Sample Size values indicate how many pixels to jump when
plotting the graph.  The most accurate would be a sample size value of 1
for both Horizontal and Vertical.  This results in a very accurate but very
time consuming plot.  The Relation Plotter uses a special algorithm which
automatically reduces the sample size near the critical regions of the
graph.  As a result, the sample size values can be left quit high with only
a slight sacrifice in accuracy.  The user may notice that sharp corners get
chopped off if the sample size value is too high.
~
~relat_variable_values
                     Entering Relation Constant Values

t0 = 3
t = <horizontal axis>
m = <vertical axis>

The WL-Plot Relation Plotter makes no assumption about which variable is on
the horizontal axis and which is on the vertical axis.  This allows the
user to have full control over the interpretation of the equation.  To
change the value of a variable, simply move to that variable and enter a
new value.  To indicate which variable is the horizontal axis variable,
enter an "h" (for horizontal).  To indicate which variable is the vertical
axis variable, enter a "v" (for vertical).

Expressions can be used such "-2π" or "√5" or "asin(.5)" or even "ln(1+p²)"
provided that 'p' is already defined and has been given a value.  Use the
<Ctrl-P> key combination to get the 'π' character, <Ctrl-2> to get the '²'
character, and <Ctrl-Shift-2> to get the '√' character.
~
~relat_plot
                               Relation Plot

Selecting Plot causes the relation to be graphed on the screen.  The
plotting process may take some time.  During the graphing process, when the
right side of the equation is evaluated to be greater than zero or true, it
is shaded with a solid shading.  If the value is less than or equal to zero
or false, it is shaded with dots.  If the value is not real, then no
shading at all takes place.  The border between the regions represent the
zero's of the relation, or possibly the discontinuities.
~
~bifurc_entering_functions
                       Entering Bifurcation Formulas

keys: See Help under Functions module for more information.

Bifurcation formulas are somewhat different from normal functions in that
they are recursive.  The dependent variable is a function of both the
independent variable and itself.  The dependent variable is given some
initial value and plugged into the formula.  The result is then plugged
back into the formula again.  This process is re-iterated numerous times. 
For each value of the independent variable, multiple values of the
dependent variable are calculated and plotted.  As a result, the graphing
process is usually a length one.

Example: z(c) = sq(z)+c
     where "z" is the dependent variable and "c" is the independent.

See Constants for important information on declaring horizontal and
vertical variables.
~
~bifurcation_recursion_loops
                        Bifurcation Recursion Loops

pre-plot loops = 100
plot loops     = 64

The "pre-plot loops" value indicates how many iterations of the Bifurcation
formula are made before any values are actually graphed.  The larger the
number, the more accurate the graph.  The "plot loops" value indicates how
many iterations are made during the graphing process.  Each iteration
generates a single data point.  Valid values are from 0 to 65536.

initial value  = 0

The "initial value" indicates the initial value of the dependent variable
before the Bifurcation formula is used.  For many formulas, the initial
value makes little difference.  For others, it need only be non-zero.  For
still others, the appearance of the entire graph may be heavily dependent
on this initial value.

Expressions can be used such "-2π" or "√5" or "asin(.5)" or even "ln(1+p²)"
provided that 'p' is already defined and has been given a value.  Use the
<Ctrl-P> key combination to get the 'π' character, <Ctrl-2> to get the '²'
character, and <Ctrl-Shift-2> to get the '√' character.
~
~recurs_entering_functions
                        Entering Recursive Formulas

keys: See Help under Functions module for more information.

Recursive formulas are somewhat different from normal functions in that, as
the name implies, they are dependant on previous values.  Both the
horizontal and vertical variables can be functions of both the previous
value of either variable.  The horizontal and vertical variable are given
some initial value and plugged into the formula, producing some result. 
The result is then plugged back into the formula again.  This process is
re-iterated numerous times.  Each re-iteration produces an (x,y) pair which
is then plotted on the screen.  Often, the outcome can change significantly
depending on the initial values.

Example: x = 1+y-a*sq(x)      (the Henon Map, try using a=1.4 and b=0.3)
         y = b*x

This says that the next value of x will found by taking the previous values
of x and y and plugging them into "1+y-a*x^2" and that the next y will be
found by plugging into "b*x".

See Constants for important information on declaring horizontal and
vertical variables.
~
~recursion_loops
                              Recursion Loops

pre-plot loops = 50
plot loops     = 1000

The "pre-plot loops" value indicates how many iterations of the Recursive
formulas are made before any values are actually graphed.  The "plot loops"
value indicates how many iterations are made during the graphing process. 
Each iteration generates a single data point.  Valid values are from 0 to
4,294,967,296.

initial x value = 0
initial y value = 0

This indicates the initial values of the horizontal and vertical variables
before the Recursion formula is used.  For many formulas, the initial value
makes little difference.  For others, it need only be non-zero.  For still
others, the appearance of the entire graph may be heavily dependent on this
initial value.

Expressions can be used such "-2π" or "√5" or "asin(.5)" or even "ln(1+p²)"
provided that 'p' is already defined and has been given a value.
~
~clear_data_points
                             Clear Data Points

  Clear Data Points

Selecting the Clear Data Points option ERASES ALL of the previously entered
data points.
~
~number_of_data_points
                           Number of Data Points

  Number of Data Points = 0

The Number of Data Points indicate the how many pairs of data points are to
be plotted.  Changing to a smaller number does not erase the old data
points.  Changing to a larger number causes the data point (0,0) to be
added on to the end of the list.
~
~edit_data_points
                             Edit Data Points

This options puts the user into the data point editor.  While editing data
points, the following keys are useful.

Editing Keys:
 <Enter> - Accepts the value currently being edited.
 <Left>,<Right> - Moves left/right within the data being edited.
 <Up>,<Down> - Moves up/down to the another X-Y pair.
 <Tab> - Moves back and forth between the X and the Y data.
 <Home>,<End> - Move to the beginning/end of the data being edited.
 <PageUp>,<PageDown> - Moves up/down by one window screen.
 <Ctrl-Home>,<Ctrl-End> - Moves to the top/bottom of the list.
 <Alt-X>,<Alt-Y> - Sort data according to X or Y values in increasing order
 <Alt-Shift-X>,<Alt-Shift-Y> - Sort data in decreasing order.
 <Shift-Tab> - Swaps X and Y data.
 <Esc> - Exits the editing session.
 
Expressions can be used such "-2π" or "√5" or "asin(.5)".  Use the <Ctrl-P>
key combination to get the 'π' character, <Ctrl-2> to get the '²'
character, and <Ctrl-Shift-2> to get the '√' character.  After exiting the
editing session, the correlations squared (R²) and the equation
coefficients are automatically calculated.
~
~cfit_linear_type
                        Curve Fit Linear Plot Type

 (*) Linear

The Linear mathematical model assumes the equation:

                              y = A ∙ x + B
~
~cfit_exp_type
                      Curve Fit Exponential Plot Type

 ( ) Exponential

The Exponential mathematical model assumes the equation:

                                       A∙x
                              y = B ∙ e
~
~cfit_log_type
                      Curve Fit Logarithmic Plot Type

 ( ) Logarithmic

The Logarithmic mathematical model assumes the equation:

                              y = A ∙ ln(x) + B
~
~cfit_pow_type
                         Curve Fit Power Plot Type

 ( ) Power

The Power mathematical model assumes the equation:

                                       A
                              y = B ∙ x
~
~cfit_poly_type
                      Curve Fit Polynomial Plot Type

 ( ) Polynomial    Degree = 2

The Polynomial Plot Type differs from the other mathematical models in that
the user can indicate the degree of the best fit polynomial.  A polynomial
of a higher degree will always provide a better fit, but may not match the
real world situation.  The degree may range from 0 to 9.

The Power mathematical model assumes the equation:

                                      0       1       2
                    y = Σ A∙xⁿ = A ∙ x + A ∙ x + A ∙ x + ...
                        ⁿ  ⁿ      0       1       2
~
~cfit_best_type
                       Curve Fit Best Fit Plot Type

 ( ) Best Fit Curve

The Best Fit Curve option causes WL-Plot to try out all of the mathematical
models and select the equation that gives the largest R² (correlation
squared) value.
~
~cfit_none_type
                          Curve Fit No Plot Type

 ( ) None
 ( ) Connect Dots

Selecting None for the Plot Type causes the data points to be graphed, but
no curve fitting is attempted.

Likewise, selecting Connect Dots also does no curve fitting, but the data
points are connected by lines.  The dots are connected in same order in
which they are listed in the Edit Data box.  This order can be altered by
selecting Edit Data and then sorting the data by using <Alt-X>, <Alt-Y>,
<Alt-Shift-X>, or <Alt-Shift-Y> key combinations to sort in the X or Y
directions, either in increasing or decreasing order.
~
~cfit_plot
                              Curve Fit Plot

Short-Cut keys: <Right-Mouse-Button>,<Ctrl-Enter>

  Plot

The Curve Fit Plot option is somewhat different than the Plot option in the
other modules.  Selecting Plot brings up another menu that allows the user
to enter information to customize the graph.
~
~cfit_save
                              Curve Fit Save

Short-Cut keys: <Alt-S>

Selecting Save causes WL-Plot to list out the previously saved file names
and prompts the user to enter a name.  The file name extension (the 3
characters after the period) is not required.  If a mouse is being used,
the user can double-click on a name already listed in order to select that
file name.  The file includes all the information to regenerate the graph,
such as the data, mathematical model, plotting area, and titles.

Unlike the other plotting modules, the Curve Fit module saves its data
files in a text format (tab delimited) which can be easily read by any text
editor and by most spread sheet programs.  This allows data to be easily
exported from WL-Plot to other programs.
~
~cfit_retrieve
                            Curve Fit Retrieve

Short-Cut keys: <Alt-R>

Selecting Retrieve causes WL-Plot to list out the previously saved file
names and prompts the user to enter a name.  The file name extension (the 3
characters after the period) is not required.  If a mouse is being used,
the user can double-click on a name already listed in order to select that
file name.  The file includes all the information to regenerate the graph,
such as the data, mathematical model, plotting area, and titles.

Unlike the other plotting modules, the Curve Fit module uses a text format
(tab delimited) data file which can be produced by any text editor and by
most spread sheet programs.  This allows data to be easily imported to
WL-Plot from other programs.

If the retrieved file is not one generated by WL-Plot, it is assumed that
it is an ascii text file which contains X-Y data.  Data is assumed to be in
X1, Y1, X2, Y2,... order.  Since all non-numeric characters are ignored,
the data can be seperated by spaces, tabs, commas, or any non-numeric text,
such as "x=1.2 y=3.4e2".  All the other options remain as they were before
the ascii file was retrieved.
~
~automatic
                           Automatic X-Y Values

  (X) Automatic X-Y Values - on
  ( ) Automatic X-Y Values - off

The bottom half of the Plot Information Menu has values that are normally
automatically set by WL-Plot.  Turning this option off lets the user
manually set these values.  If the values are to be set manually, it is
recommended that the program be allowed to first set them automatically and
then have the user modify them.
~
~cfit_min_max
                         Curve Fit Min/Max Values

  x min   = 0
  x max   = 5
  y min   = 0
  y max   = 5

These values indicate the values of the left, right, bottom, and top edges
of the graph.
~
~scale
                                X-Y Scales

  x scale = 1000
  y scale = 1000

The actual values indicated on the graph are scaled by this factor. 
~
~scale_title
                             X-Y Scale Titles

  x scale = Thousands
  y scale = Thousands

The scale title should be descriptive of the scale being used, such as
"Thousands" if the scale is 1000.
~
~axis_interval
                               Axis Interval

 x axis interval = 0.5
 y axis interval = 0.5

The Axis Interval indicates how often to put a hash mark and number on the
axis.  For example, an interval of 0.5 would place marks at 0.0, 0.5, 1.0,
1.5, etc...
~
~cfit_overlay
                             Curve Fit Overlay

 (X) Overlay - on
 ( ) Overlay - off

The Overlay option allows multiple graphs to be stacked on top of each
other.  It is important to not change any values or titles if the Overlay
option is to be used.  

To use the Overlay option, turn off the Automatic Values option and set the
X and Y range values so that all of the graphs to be overlaid will fit into
the plotting area.  Make the first graph with the Overlay option turned
off.  When plotting the second graph in the series, turn the Overlay option
on and leave it turned on for however many graphs are to be overlaid.  To
distinguish between one set of points and another, a different Plot
Character should be used for each one.
~
~cfit_steps
                              Curve Fit Steps

  steps   = 160

Thee number of steps indicates how many points the plotter should sample
from the best fit equation to determine the shape of the curve.  The more
steps taken, the more accurate the graph, but the longer it will take. 
Values may range from 1 to 65535, but values less than 30 give poor
results.  This option is ignored if the Linear Plot Type is selected.
~
~cfit_plotchar
                         Curve Fit Plot Character

  Plot Character = *

Indicates which character will be used to plot the data points on the
graph.  This is especially useful for identifying one set of data from
another when plotting overlaid graphs.  Other good character choices
besides '*' are '+', 'o', 'O', 'x', 'X', and '#' but any character may be
used.  If you do not want the data points to be plotted, use a <Space>
character as the Plot Character.
~
~plot_title
                          Plot Title and Subtitle

  Plot Title:     Acceleration Lab
  Plot Subtitle:  Distance vs. Time

The Plot Title and Subtitle simply allow the user to put a descriptive
title at the top of the graph.  Using either of these options causes the
size of the graph to automatically shrink to allow room for the titles.
~
~axis_title
                                Axis Title

 x axis title: Time (sec)
 y axis title: Dist. (cm)

These options allow the user to place a descriptive title along the axis of
the graph.
~
~cfit_plot_graph
                                Plot Graph

Short-Cut keys: <Right-Mouse-Button>,<Ctrl-Enter>

  Plot Graph

Causes the Data Points to be plotted out on the graph along with the best
fit curve.
~
~cfit_return_menu
                          Return to Previous Menu

  Return to Previous Menu

Returns to the Curve Fit menu without graphing the data points.
~
~zoom
                             Zooming In & Out

While the graph is being plotted, hitting any key will stop the plotting
process.  After the graph is finished, an arrow will appear.  This arrow
can be moved around by either the arrow keys or a mouse.  You can zoom in
by dragging the mouse to define a new plotting area, or use the keys
described below to define the edges of the new area.  A rectangle will
appear to show what area you have defined.

keys: any key will stop the plotting process.
     <Left-Mouse-Button> - Drag mouse to mark zoom-box, click to cancel.
     <Left>,<Right>,<Up>,<Down> - Moves the arrow around the screen.
     <Shift-Left>,<Shift-Right>,<Shift-Up>,<Shift-Down> - Moves faster.
     <L>/<R> - Defines the left/right edge of the zoom box.
     <T>/<B> - Defines the top/bottom edge of the zoom box.
     <F3> - Defines the bottom left corner of zoom box.
     <F4> - Defines the top right corner of zoom box.
     <I>,<Return>,<Right-Mouse-Button> - Zooms In if zoom box has be set.
     <O>,<Crtl-Return>,<Ctrl-Right-Mouse-Button> - Zooms Out.
     <Space> - Displays the coordinates of the arrow tip.
     <P> - Switches display between polar and rectangular coordinate mode.
     <D> - Switches polar coordinates between degrees and radians mode.    
     <Esc> - Cancels the zoom box and returns to the menu.
~