home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1993 #2
/
Image.iso
/
math
/
wlplt231.zip
/
WLPLOT.DOC
< prev
next >
Wrap
Text File
|
1993-06-29
|
46KB
|
1,343 lines
Reference Manual for
Wesley B. Loewer's
Plotting Program
version 2.31
(C) 1990-92, Wesley B. Loewer
Manual Updated: June 29, 1993
Page 1
Table of Contents
Topic Page
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
New Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Latest Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Installing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Common Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Entering Information . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Entering Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Special Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Algebraic Order of Operations . . . . . . . . . . . . . . . . . . . . . 13
Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Saving & Retrieving . . . . . . . . . . . . . . . . . . . . . . . . . . 14
PCX Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Custom Distributions . . . . . . . . . . . . . . . . . . . . . . . . . 19
In Closing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Wesley Loewer's Plotting Program -- WL-Plot
Page 2
Introduction:
WL-Plot was designed to help students understand mathematical graphs a
little better by allowing them to quickly plot a graph to see what it looks
like. Often, students get bogged down in button pushing and point-by-point
plotting and fail to grasp the real significance behind the graph. The
goal of this program is to eliminate the busy work of plotting, freeing the
student to proceed to higher level thinking.
Speaking of free, that's one of the nice things about WL-Plot. (See the
"In Closing" section on page 20 of this document for the conditions in
which this program may be used without charge.) This may not be the best
plotting program that you can find, but you can't beat it for the price. I
have tried to include as many features that I thought students and teachers
could actually use. Please distribute WL-Plot to anyone who can use it.
New Features:
Some of the more significant features that have been added to WL-Plot since
the last release include the following.
The equation parser now has the ability to save values in variables,
allowing for composite functions. For example, if f(x)=2x+1 and
g(x)=x², then f(g(x)) can be written as "x²->g 2g+1" while g(f(x)) can
be written as "2x+1->f f²".
Complete overhaul of the Conic Section module. Conic sections as well
as their degenerate shapes can be entered in either their standard
forms or in the general quadratic form. Graphs can be easily rotated.
Rotated graphs are now compatible with the "Show Asymptotes and Focal
Points" option. Overall accuracy in the graph, especially rotated
graphs, is much improved.
Added the ability to use expressions to enter constants. For example,
at the prompt for a constant or a Min/Max, the expression 1+√3 can be
entered.
Added the ability to plot indefinite integrals.
Optimized the plotting process considerably for equations with lots of
constants.
Changed the way implied parenthesis and implied multiplication is
handled. The new order of operation is: implied multiplication;
implied parentheses; explicit multiplication, division, modulus.
Added the ability to use |x| to represent the absolute value. The
function abs(x) is still available.
When viewing a graph, the show coordinates option can now display
polar (r,Θ) coordinates, either degrees or radians, in addition to the
normal cartesian (x,y) coordinates.
Added the Recursive Relation Plotter Module.
Added a switch in the Functions module to turn off radians mode so
that users could more easily deal with degrees.
Wesley Loewer's Plotting Program -- WL-Plot
Page 3
See Revision History on page 14 for complete details.
Latest Version:
The latest version of WL-Plot can be found at
Tranquility Base BBS Data Warp Premium BBS
(713) 893-9124 (713) 355-6107
Spring, Texas Spring, Texas
WL-Plot version 2.31 was distributed as WLPLT231.ZIP. When passing WL-Plot
along to others, please use just this file. Currently, the compressed
archive contains the following files:
wlplot.exe, wlplot.doc, wlplot.hlp, tutorial.wp,
gh.com, helvb.fon, plus sample files
The tutorial.wp file is a 15 page tutorial in WordPerfect (tm) format. If
you would like to use this tutorial and do not have any way of printing a
WordPerfect file, send $5 to the address at the end of this file and I will
send you a printed copy.
See p.17 for information on ordering custom distributions.
Hardware:
Because WL-Plot was produced mainly for classroom use, care was taken to
make certain that the program would work on the limited equipment which is
still being used in many schools.
Required - You will need an IBM-compatible computer with DOS version 2.0 or
later. The program should work with as little as 300K of available memory
for full VGA mode, even less for CGA mode. (See p. 17 of this document for
details for ordering a special version that will work on 256K computers.)
The program can be run from either a 360k or higher floppy drive or a hard
drive. You will also need some sort of graphics capability, either CGA,
EGA, MCGA, VGA, or Hercules. The Hercules adapter is only partially
supported and requires that the utility MSHERC must run first before
starting WL-Plot. The stand-alone Curve Fitting program can run in a
limited fashion without any graphics capability.
Optional - A mouse is quite useful but not necessary. A math coprocessor
will significantly speed up the plotting process.
Wesley Loewer's Plotting Program -- WL-Plot
Page 4
Installing WL-Plot:
To install WL-Plot, simply copy the all the files to a floppy disk or hard
drive. If disk space is limited, such as with a bootable 360k floppy
system disk, then copy only the required files: WLPLOT.EXE, WLPLOT.HLP,
HELVB.FON.
The environmental variable WLPLOTHELP can be set at the DOS command line to
indicate a different drive or directory for the WL-Plot help file. For
example:
SET WLPLOTHELP=B:\
indicates that the help file, WLPLOT.HLP, is located in the B: drive. The
use of WLPLOTHELP is purely option and is not necessary if the help file is
in the current directory.
Wesley Loewer's Plotting Program -- WL-Plot
Page 5
Getting Started:
Start the program by typing "wlplot" at the DOS prompt. The user will be
presented with the following choices.
Functions
Plots functions in Cartesian, Polar, or Parametric form. Functions
may be entered in either Algebraic or RPN (Reverse Polish Notation,
also called post-fix notation) modes. Allows grids, logarithmic
scales, up to 10 user defined variables, separate control over viewing
window and domain, and a library of over 75 built in operators,
functions, and constants (see page 10).
Conic Sections
Plots parabolas, circles, ellipses, hyperbolas and their degenerate
shapes. Equations may be entered in standard or general form. Also
shows focal points, asymptotes, and directrix.
Derivatives & Integrals
Plots functions along with its indefinite integral and its 1st and 2nd
derivatives.
Relation Plotter
A somewhat slow but extremely powerful plotter for graphing relations
that are not necessarily functions, such as "y=abs(x)^sin(y)." It can
also graph a system of inequalities, such as "y < 0.5x and x > 1 and
x*y < 2." It is also good for those situations where it is just too
difficult or even impossible to solve for either x or y, such as
"x^2+x^3*y^3-1-y=0."
Bifurcations
A bifurcation fractal plotter. Demonstrates concepts such as Chaos
and period doubling. For example, try the population equation
r*p*(1-p) with initial value=0.5, x min=1, x max=4, y min=0, y max=1,
with r as the independent variable and p as the dependent. It's slow
so be patient.
Recursive Relations
Plots recursive relations. Allows a user to describe a relation in a
such a manner where both the horizontal and vertical component values
can depend on previous values of each other. 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.
Curve Fitting
Fits a line or curve to a set of data points. Uses linear,
logarithmic, exponential, power, and up to 9th degree polynomial
models. (The stand alone version of this program can run without a
graphics adapter card. Graphics is not needed to calculate the
coefficients of the best fit line or curve such as slope and
intercept. Graphics capability is needed, however, if the curve is to
be displayed on the screen or printed.) Up the 1500 data points are
allowed.
Wesley Loewer's Plotting Program -- WL-Plot
Page 6
Use CGA Graphics
Sometimes it is necessary to force WL-Plot to use CGA graphics, even
if VGA is available. This could be due to having a very limited
amount of memory, or trying to print with a version of DOS prior to
4.0.
Exit
Exits the program.
The above menu can be skipped by indicating the desired module on the
command line. For example,
wlplot function
will cause WL-Plot to go straight to the function plotting module. The
full syntax is
wlplot [cga] [f[unction]] [co[nic]] [d[erivative]] [rel[ation]]
[b[ifurcation]] [rec[ursive]] [cu[rve-fit]] [cf[it]] [/b]
where the characters between the []'s are optional. The module name need
not be entered in full. All that is required is enough of the name to make
it unique. For example, the following are valid
wlplot co is acceptable for conic
wlplot d is acceptable for derivative
wlplot cu is acceptable for curve-fit
wlplot cf is also acceptable for curve-fit (cfit)
while
wlplot c is ambiguous between conic and curve-fit.
The "cga" option forces the use of CGA graphics, even if VGA is available.
This may be needed to print in older versions of DOS or to run with less
memory.
The last option "/b" forces the menu screens to have a black background
instead of blue one. This easier to read on some monitors.
Common Features:
All of the modules share a similar user interface. Below is a summary of a
few features that are common to most of the modules. For a more detailed
description, see the help file, WLPLOT.HLP. This help file is specially
formatted for WL-Plot, but can be view by any text editor. See the end of
WLPLOT.HLP for details on the use of the Generate Help Utility (GH.COM) and
how to safely modify the help file. The information in this help file is
available from within the program by pressing the <F1> key. With the
Hercules Graphics Adapter, the <F1> help feature is available only after a
graph has been plotted.
Wesley Loewer's Plotting Program -- WL-Plot
Page 7
After selecting a particular module from the main menu, another menu
appears on the screen with several groups of options listed together. To
move from one group to another, you can use the following keys:
Function key (ex. <F3>) - moves to a particular group
<Tab> - moves to the next group
<Shift-Tab> - move to the previous group
To move to different options within a group, use the up and down arrow
keys. If you have a mouse, simply point the mouse arrow to the desired
selection and click the left mouse button. A ">" will appear at the left
of the selected option. There are four different types of options on the
menu screen. Each type is explained with an example.
Toggle type The option is turned on or off by pressing the
space bar, the return key, or clicking on the
option with the left mouse button. If an X
appears in the parenthesis, the option is turned
on.
Example:
(X) Grid The grid is turned on.
Example:
( ) Grid The grid is turned off.
Choice type A list of choices is presented. A choice is
selected by pressing the space bar, the return
key, or clicking on the choice with the left mouse
button.
Example:
( ) Cartesian The list presented on the left can only have one
( ) Polar choice between them. In this case, the Polar
(*) Parametric graph is selected, so the graph cannot be
Cartesian or Parametric.
Example:
(2) Cartesian The Cartesian type graph has been selected. The
( ) Polar "2" indicates that 2 equations will be
( ) Parametric simultaneously plotted. A "1" would indicate a
single equation would be plotted.
Action type Selecting an action option causes something
immediately to be done. An action is activated by
pressing the space bar, the return key, or
clicking the left mouse button.
Example:
Save Saves current equations and settings to disk.
Dialogue type The program expects a response from you, such as a
value or an equation.
Example: The user is expected to enter in a function such
ƒ(x) = as "sin(x)"
Example: The user is expected to enter a number such as
x min = "-2.5" or "2π"
Wesley Loewer's Plotting Program -- WL-Plot
Page 8
Entering Information:
When entering numeric values or functions, the following cursor keys are
provided to make editing easier.
<Home>- Moves cursor to beginning of the line.
<End> - Moves cursor to end of the line.
<Left> - Moves cursor to one character to the left.
<Right> - Moves cursor to one character to the right.
<Ctrl-Left> - Moves cursor to previous word.
<Ctrl-Right> - Moves cursor to next word.
<Left-Mouse> - Moves cursor to any location.
Entering Equations:
When entering equations, certain rules must be followed in order for the
equation parser to be able to correctly interpret the function.
Algebraic Mode
Variable names must start with a non-digit, but may contain digits.
Examples: x, m1, Θ, _1f2 are all legal variable names.
2x, 1m, 1_f2 are not valid names
(interpreted as multiplication).
Function names can be followed by a parenthesis.
Examples: sin(Θ), 3*cos(2π), Γ(2.1), √(x) are all valid.
sinΘ, cosa+b, √x are not valid.
Functions names can be followed by spaces. If no parenthesis follows
a function name, then a pair of parentheses are implied to be
surrounding the first term consisting of only implied multiplication.
(See Algebraic Order of Operations on p. 13 for evaluation order of
implied parentheses.)
Examples: sin Θ, 3 cos 2x are both valid.
The special function symbols for square-root, √ (<Ctrl-Shift-2>), and
gamma, Γ (<Ctrl-Shift-G>), do not require a parenthesis or space
following the symbol.
Examples: Γx, √x, √2 are all valid.
Implied multiplication is performed when possible.
Examples: 2x, 3 y, 2sin 1.5π , (1+x)(1-x) are all valid.
Also, implied multiplication is has a higher precedence than explicit
multiplication and division. Implied multiplication can be treated as
if there are implied parentheses surrounding it.
Examples: 1/2x means 1/(2*x) while 1/2*x means (1/2)*x.
sin 2x|c| means sin(2*x*abs(c))
while sin 2x*|c| means sin(2*x)*abs(c)
The use of |'s for absolute values are allowed. The equation parser
will attempt to handle nested |'s if possible.
Examples: |x|, sqrt|x|, ||x|-1|, |1-|x||, ||x|-|c|| are all valid.
||x|-2|c|| is not valid since the 4th | is ambiguous at the
time it is encountered. |(|x|-2|c|)| would fix it.
Intermediate results can be stored in a variable by using the "->"
operator, allowing for the use of composite functions.
Wesley Loewer's Plotting Program -- WL-Plot
Page 9
Example: The underdamped motion equation used in physics is given to
be A=A0*exp(-τ*t)*sin(w*t)/w where w=√(w0²-τ²), τ=b/2m, and
w0=√(k/m). If a user had to substitute in for τ, w, and w0, it
would look like:
"A0*exp(-b/2m*t)*sin(√(k/m-(b/2m)²)*t)/√(k/m-(b/2m)²)" which is a
rather messy formula. It can be cleaned up a bit by using the
"->" store variable operator to look like: "b/2m->τ √(k/m)->w0
√(w0²-τ²)->w A0*exp(-τ*t)*sin(w*t)/w" which although is not any
shorter in length, is certainly more intuitive and less likely to
be mistyped than having all the nested parentheses.
Because of optimizations performed internally, both equations would
take about the same amount of time to graph.
RPN Mode
All variables, constants and function names must be separated by
spaces.
Examples: 2 x * sin is valid.
2x sin is not valid.
The store variable operator "->" is also available in RPN mode. The
example given in the Algebraic Mode section above would be entered as:
"b 2 m * / ->τ k m / √ ->w0 w0 sq τ sq - √ ->w A0 τ t * neg exp * w
t * sin * w /" which although looks quite messy itself, doesn't begin
to compare to the mess which would make even the most staunch RPN
purist hesitate if the "->" operator were not available: "A0 b 2 m * /
t * neg exp * k m / b 2 m * / sq - √ t * sin * k m / b 2 m * / sq - √
/". Again, because of internal optimizations, both forms would take
about the same amount of time to graph.
Special Characters:
Name Symbol Key Stroke
alpha α <Ctrl-A>
beta ß <Ctrl-B>
delta δ <Ctrl-D>
epsilon ε <Ctrl-E>
phi φ <Ctrl-F>
Phi Φ <Ctrl-Shift-F>
gamma τ <Ctrl-G>
Gamma Γ <Ctrl-Shift-G>
infinity ∞ <Ctrl-I>
mu µ <Ctrl-M>
omega Ω <Ctrl-O>
pi π <Ctrl-P>
sigma σ <Ctrl-S>
Sigma Σ <Ctrl-Shift-S>
theta Θ <Ctrl-T>
squared ² <Ctrl-2>
square-root √ <Ctrl-Shift-2>
Wesley Loewer's Plotting Program -- WL-Plot
Page 10
Functions and Constants:
The following functions and constants are predefined by the program:
Constants:
3.141592653589793 pi or π <Ctrl-P>
2.718281828459045 e
3.402823466e+38 inf or infinity or ∞ <Ctrl-I>
(used when "really big" number is needed)
Variables:
use variable p (use variable p)
save in variable ->p (save in variable p)
Binary functions:
add x+y
subtract x-y
multiply x*y or 2x
divide x/y
exponentiation x^y
modulus x mod y or mod(x,y)
combination comb(n,r)
permutation perm(n,r)
maximum max(x,y)
minimum min(x,y)
Unary functions:
negation -x or neg(x)
inverse inv(x)
square root sqrt(x) or √x
square sq(x) or x²
round round(x)
ceiling ceil(x) round up
floor floor(x) round down
integer int(x) truncate decimal
fractional frac(x)
absolute value abs(x)
sign sign(x)
factorial fact(n) or n!
gamma gamma(x) or Γx
is value real? isreal(x)
Trigonometry functions: (in radians)
sine sin(x)
inverse sine asin(x) or arcsin(x)
cosine cos(x)
inverse cosine acos(x) or arccos(x)
tangent tan(x)
inverse tan atan(x) or arctan(x)
inverse tan2 atan2(x,y) or arctan2(x,y)
cotangent cot(x)
inverse cot acot(x) or arccot(x)
secant sec(x)
inverse sec asec(x) or arcsec(x)
cosecant csc(x)
inverse csc acsc(x) or arccsc(x)
rad to deg raddeg(x)
deg to rad degrad(x)
Wesley Loewer's Plotting Program -- WL-Plot
Page 11
Logarithm related functions:
natural log ln(x)
exponential exp(x)
common log log(x)
antilog alog(x) or antilog(x)
log base n logb(n,x)
hyperbolic sin sinh(x)
inverse sinh asinh(x)
hyperbolic cos cosh(x)
inverse cosh acosh(x)
hyperbolic tan tanh(x)
inverse tanh atanh(x)
Bessel functions:
1st kind, 0 j_0(x)
1st kind, 1 j_1(x)
1st kind, n j_n(n,x)
2nd kind, 0 y_0(x)
2nd kind, 1 y_1(x)
2nd kind, n y_n(n,x)
Trinary Function:
conditional if if(b,t,f)
If b is true (positive) then t will be use. If b is false (not-
positive) use f.
Ex: if(x>=0,3x,x^2)
The "if" is probably the single most powerful function here. It
allows the user to perform branching of sorts. Nested if's are
allowed. For example the following pseudo-code
if x < 2
then y = 3x^2
else if x < 5
then y = 6x
else
y = x^2+5
can be coded Algebraically as
if( x<2, 3x^2, if( x<5, 6x, x^2+5))
or in RPN as
x 2 < 3 x sq * x 5 < 6 x * x sq 5 + if if
Wesley Loewer's Plotting Program -- WL-Plot
Page 12
Boolean Comparisons: (evaluates to 1 if true, 0 if false)
less than a<b
greater than a>b
less than or equal to a<=b
greater than or equal to a>=b
equal to a=b
not equal to a<>b
and a and b or and(a,b)
or a or b or or(a,b)
exclusive or a xor b or xor(a,b)
The result of a boolean comparison evaluates to 1 if true, 0 if the
result is false. In numeric comparisons, non-real values cannot be
compared except in the case of "<>" when a real and a non-real are
always considered to be not equal. Otherwise, reals compared to non-
real values are considered false. This leads to the interesting
result that "sqrt(-1)>0" and "sqrt(-1)<0" are both considered false,
and "not(sqrt(-1)>0)" and "not(sqrt(-1)<0" are both considered true.
Stack Functions: (available in RPN mode only)
duplicate bottom element dup or push
drop bottom element drop or pop
swap bottom two elements swap
recall stack element n n rcl
store in stack element n n sto
roll bottom n elements n roll
n must be a number.
If n is positive the stack rolls down, a negative n rolls up
Functions may be entered in either Algebraic or RPN notation. Although the
Algebraic mode is recommended for general use, RPN mode has been provided
for compatibility with RPN calculators. Also, complicated equations can
often be written more easily and graphed more quickly in RPN notation.
There is no speed penalty for not manually calculating the intermediate
results from constants. The constants are automatically combined before
graphing process starts. Therefore the graph of
sqrt(ln(a)*b^12)*10! * x, where a=3.2, b=0.5, x=<independent>
will take no longer to plot than
61150.6492766 * x, where x=<independent>
Therefore, the speed gained by using RPN mode is often negligible.
Wesley Loewer's Plotting Program -- WL-Plot
Page 13
In Algebraic mode, the following rules of order of operation are obeyed.
Algebraic Order of Operations:
highest parentheses ()
functions
^
implied multiplication
implied parentheses following functions
* / mod
+ -
= <>
< <= > >=
and
xor
or
lowest ->
Examples:
Algebraic: a+b*sin(c*(t-d))
RPN: a b c t d - * sin * +
Algebraic: sin 2x + 1 (interpreted as sin(2x) + 1)
RPN: 2 x * sin 1 +
Algebraic: (2x-1)(3x^2.5+2) (note: the '*' is optional)
RPN: 2 x * 1 - 3 x 2.5 ^ * 2 + *
Algebraic: -1^2 (note: ^ is executed first. The result is -1)
RPN: 1 2 ^ neg
Algebraic: (-1)^2 (note: - is executed first. The result is +1)
RPN: -1 2 ^ or 1 neg 2 ^
Algebraic: sqrt 9 * sqrt 16 (sqrt(9)*sqrt(16) = 3 * 4 = 12)
RPN: 9 sqrt 16 sqrt *
Algebraic: sqrt 9 sqrt 16 (sqrt(9*sqrt(16)) = sqrt(9*4) = 6)
RPN: 9 16 sqrt * sqrt
Algebraic: 2(3(4+sin(.5)))^6 (result is 11778539.8142)
RPN: 2 3 4 .5 sin + * 6 ^ *
Algebraic: max(a,b)
RPN: a b max
Algebraic: if(x>-2 and x<=2, 3x+2, abs(x))
RPN: x -2 > x 2 <= and 3 x * 2 + x abs if
Algebraic: b²-4*a*c ->d (-b+√d)/(2a)
RPN: b ² 4 a * c * - ->d b neg d √ + 2 a * /
Wesley Loewer's Plotting Program -- WL-Plot
Page 14
Constants:
WL-Plot can use up to 10 variables at a time. To indicate which variable
is to be the horizontal independent variable, move to that variable in the
"Constants" menu and enter an "i" or an "h". The message
"<independent variable>" will then appear. Some modules allow you to
declare a variable as the vertical dependent variable by entering a "d" or
"v". To get rid of old variables, select the "Purge Unused Constants"
option.
Saving & Retrieving:
When a Save or Retrieve action is selected, the main menu is cleared and
another screen appears at the top of the screen prompting you for a file
name to use to save the data. You can type in a file name, or if you have
a mouse, double click on a file name listed. You do not have to put an
extension on your file names. (For example, the file name "abcd.efg" has
the extension is ".efg".) A default extension will be appended to
filenames which do not have an explicit extension.
PCX Format:
The PCX format is a graphics format commonly used by other software, such
as painting, word processing, and desk-top publishing programs. Therefore,
graphs saved with the "Save-PCX" option can be imported into these other
programs. The filename extension for PCX files is ".pcx".
Printing:
To print a graph directly to a printer, DOS's GRAPHICS utility must be
loaded before starting the plotting menu. To do this simply type
"graphics" at the DOS command line before typing "wlplot." When you have a
graph that you would like printed, press the <Shift-PrtSc> key (or just
<PrntScrn> key on enhanced keyboards). See your DOS manual for more
informatation on the GRAPHICS command if you have a laser or bubble jet
printer. Note that DOS version 3.3 and earlier can only print CGA mode
graphics while version 4.0 and later can print EGA and VGA graphics as
well. You can force the plotting program to use CGA mode graphics by
starting the program with "wlplot cga". This allows you to print the
screen if your DOS version is prior to 4.0 even if you have a VGA card.
You can also print a screen by saving it to a file by selecting "Save-PCX"
and then importing the PCX file into a painting or word processing program.
This allows you to merge plots with other graphics into a document. (See
"PCX Format" above.) WL-Plot is also compatible with the Microsoft Windows
(tm) "copy to clipboard" feature using the <PrntScrn> key.
Wesley Loewer's Plotting Program -- WL-Plot
Page 15
Revision History
2.31 Minor changes in documentation.
2.3 Cleaned up the documentation a bit.
Fixed incompatibility problems between explicit multiplication and
implied parenthesis.
2.2 Complete overhaul of the Conic Section module. Conic sections as well
as their degenerate shapes can be entered in either their standard
forms or in the general quadratic form. Graphs can be easily rotated.
Rotated graphs are now compatible with the "Show Asymptotes and Focal
Points" option. Overall accuracy in the graph, especially rotated
graphs, is much improved.
2.1 Added the ability to use expressions to enter constants. For example,
at the prompt for a constant or a Min/Max, the expression 1+√3 can be
entered.
2.0 For x and y min/max values, entering the same value for min and max
will no longer crash the program. The max value will have 1.0 added
to it to keep the two from being equal.
Fixed a bug that kept the Conic Sections module from plotting a
horizontal hyperbola when b=0.
Now accepts √x for √(x) and Γx for Γ(x).
Fixed a bug in the Conic Sections module that would sometimes keep
part of the graph from being plotted when using the General formula.
Turning on/off the Use CGA option will no longer clear the Curve
Fitting information such as titles, subtitles, axis labels, etc...
1.6 Fixed a quirk in the "Save PCX" routine that made the .pcx files
incompatible with Windows 3.1 Paintbrush. The old PCX routine was
compatible with everything else that it was tested on (MS Paintbrush,
WordPerfect, Photo Styler, PC Tools viewer, VPic, CShow...).
Added the ability to plot indefinite integrals to the Derivatives &
Integral module.
Optimized the plotting process considerably for equations with lots of
constants. Operations performed on constants are now evaluated once
before plotting begins rather than repeating the calculation over and
over while the equation is being graphed.
Changed the way implied parenthesis and implied multiplication is
handled. The new order of operations are: implied multiplication;
implied parentheses; explicit multiplication, division, modulus.
Added the ability to use |x| to represent the absolute value. The
function abs(x) is still available.
Wesley Loewer's Plotting Program -- WL-Plot
Page 16
When viewing a graph, the show coordinates option can now display
polar (r,Θ) coordinates, either degrees or radians, in addition to the
normal cartesian (x,y) coordinates.
Recompiled with updated graphics library.
Added the Recursive Relation Plotter Module. Very useful for
examining certain recursive relations such as the Mandelbrot equation,
Henon Attractors, etc...
1.51 Added a switch in the Functions module to turn off radians mode so
that users could more easily deal with degrees.
Fixed a small Functions module bug which would not bring up the
correct help screen when entering a second function when graphing
simultaneous functions or when using Parametric mode.
1.5 WAS THE LAST PUBLIC RELEASE BEFORE 2.31
********************************************
1.5 Now accepts special characters in variable, constant, and function
names such as π, φ, ß, √, and Γ. (see Special Characters on p. 9)
Added the unary function "gamma."
Removed the need for parentheses after functions. A space is still
required after a function name to distinguish it from a user defined
variable.
Examples: sin Θ is allowed for sin(Θ)
√ x is allowed for √(x)
Improved the cursor movement for easier editing of equations.
Added the RPN Mode function names "push" and "pop" to be synonyms for
"dup" and "drop" respectively.
The distribution was changed so that all of the different modules of
WL-Plot were combined into a single executable file. This reduces the
size of the distributed .exe file to less than 40% of the size of
previous distributions. See Custom Distributions below (p. 19) if you
have need for stand alone modules or a non-overlaid program.
The short-cut keys for zooming in on a graph were changed to from <F1>
and <F2> to <F3> and <F4> so that <F1> could be reserved for use as
the context sensitive help key.
The equation is no longer printed on the screen when the graph is
plotted. This feature had to be dropped since the .fon font file does
not support extended ASCII characters such as π or Γ.
Added extensive context sensitive on-line help.
Moved much of the documentation from WLPLOT.DOC to WLPLOT.HLP.
Changed the name of the Standard Form conic equation to the General
Form conic equation to be more consistent with text books.
Wesley Loewer's Plotting Program -- WL-Plot
Page 17
Fixed some problems with Hercules graphics adapters. Also added
MSHERC.COM to the distribution for Hercules users. Still does not
return from the <F1> help feature correctly unless a plot has already
been graphed. (I haven't got a clue as to why.)
The prompts for real number values can now accept multiples of pi by
using <Ctrl-P> to produce "π" as in "2.5π" or "-π" which causes the
value to be multiplied. Multiplication of a number by pi is the only
operation allowed.
1.12 Fix a bug in the Conic Section plotter that would occasionally cause
the program to abort when trying to plot a General Form equation.
1.11 Changed maximum equation length from 80 characters to 200.
Now prevents steps=0, which caused "division by zero" problems. Also
now correctly reports large number of steps.
In the Conic Section program, added the automatic conversion to the
General form.
1.1 Changed the menu program filename from the more descriptive
"plotmenu.exe" to the more rewarding "wlplot.exe." Also changed the
name of the relation plotter from "last.exe" to "relat.exe."
The name of the trinary function "ifte" (if-then-else) was shortened
to "if." The name "ifte" is still legal for the sake of
compatibility.
Changed the method of error trapping to allow better handling of the
if(boolean,true statement,false statement). Now,
if( x<0 , x , sqrt(x) )
is properly evaluated when x<0. Before, both the true and false
statements had to evaluate to a real number in order for the result to
be evaluated. Now, only the final answer of an expression must
evaluate to a real number.
Added the unary function "isreal" (is it real)
Changed the names of the Bessel functions from j0, j1, jn, y0, y1, and
yn to j_0, j_1, j_n, y_0, y_1, and y_n.
The Relation Plotter was speeded up considerably. It is also
considerably more accurate. This speed and accuracy improvement is a
consequence of having the program automatically reduce the pixel
resolution value at the borders between two regions. (Thanks goes to
The Stone Soup Group's Fractint for the "solid guessing" speed up
concept.)
The way in which numeric values are converted into boolean values was
changed. Values greater than zero are considered true, while values
less than or equal to zero are false. Also, non-real values are
considered false. Previously, only values equal to zero were
considered false and non-real values were not evaluated at all.
Wesley Loewer's Plotting Program -- WL-Plot
Page 18
An option to turn the axis on or off has been added. If Show Axis is
turned off, then the function is graphed on a blank screen. Show Axis
overrides the Grid option.
Selecting "Save" now stores the current equation(s) and settings to a
file. Previously, a bit-mapped image was saved to disk along with
some of the settings. Retrieved files must now be regenerated, but
they are a tiny fraction of the size of a bit-mapped image file.
1.01 Fixed garbled error messages for certain RPN stack errors.
1.0 Original Program
Plans for future releases include:
- A 3-d Function Plotting module.
- A Polynomial Plotting module.
Wesley Loewer's Plotting Program -- WL-Plot
Page 19
Custom Distributions
The current release of WL-Plot comes with a single executable file,
WLPLOT.EXE, which contains all of the plotting modules. If for some
reason, you prefer to use the overlaid version or the stand alone version,
custom orders may be made. In general, programs with overlays require less
memory, but more disk space and take a bit longer to load. Overlaid
programs also required disk access even after the program has been loaded,
making the program run slower on floppy drive and network systems.
Programs without overlays can be used with executable compression programs
such as PKLITE (tm), DIET, and LZEXE which can reduce the size of an
executable file to about half its original size. In order to allow WL-Plot
to fit on a single 360K floppy drive, the standard version executable file
has already been compressed with PKLITE ver. 1.15. Below is a summary of
the three different ways WL-Plot can be distributed.
Combined Modules (standard version)
Best version if the memory is available.
Combined Modules with Overlays (w.o. version)
Requires more disk space, but less memory.
Stand Alone Modules (s.a. version)
Each module comes as a separate program. This requires the least
amount memory and disk space if only one program is used. This is the
only version that will work on computers with only 256K of memory.
This version is also valuable if being run from a 360K floppy drive
since each of the modules can be placed on a different disk.
To order a Custom Distribution, send the description of the desired
configuration and $15 to the address listed at the bottom of this file.
Wesley Loewer's Plotting Program -- WL-Plot
Page 20
In Closing
A special word of thanks goes to my Physics and Math students who
unknowingly were my original beta testers. They are the reason I put this
program together and made thit publicly available.
Please Read!!!
This program is intended for use in educational settings only. As a
teacher, my reward comes from knowing that my efforts have been fruitful.
Although donations would be appreciated, the only payment that I ask is
that each user send a letter or postcard letting me know that he/she is
using my program. Teachers may send a single letter with the names (or at
least the number) of students using the program each year. 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. (I call it ego-ware.)
If WL-Plot should prove useful to someone outside of an educational setting
(such as in a job or even research), a reasonable payment of $25 is
required.
Copyright is retained by Wesley B. Loewer.
This program may be freely distributed. A small distribution fee may be
charged to cover the cost of the distribution. This program may not be
sold without the expressed written consent of the author. This program may
not be included as part of a package with other materials such as text
books without written permission from the author. All rights to this
program belong to the author.
If you are a teacher and would like to swap ideas on how this program can
be used in class, or if you are in the Houston area and are interested in
an inservice at your school, feel free to contact me.
Please send questions, suggestions, and contributions to:
Wesley B. Loewer or Wesley B. Loewer
78 S. Circlewood Glen McCullough High School
The Woodlands, TX 77381 3800 S. Panther Creek Dr.
(713) 292-3449 The Woodlands, TX 77381
(713) 367-1025 ext. 251
Internet: loewer@largo.star.harc.edu
Wesley Loewer's Plotting Program -- WL-Plot