home *** CD-ROM | disk | FTP | other *** search
/ Best Objectech Shareware Selections / UNTITLED.iso / boss / educ / math / 028 / mathtool.doc < prev    next >
Encoding:
Text File  |  1990-10-30  |  49.3 KB  |  1,516 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.                    MATHTOOL
  11.  
  12.                 AN INTERACTIVE
  13.                    MATHEMATICAL TOOL 
  14.  
  15.                  USER'S GUIDE
  16.                  VERSION 2.03
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.                  
  26.                  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.            (C) COPYRIGHT 1990 - ALL RIGHTS RESERVED
  41.                       by
  42.                 MARTIN J. MAHER
  43.                 MJM ENGINEERING
  44.                  P.O. BOX 2027
  45.                   HAWTHORNE, CA 90251
  46.                 
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.                   TABLE OF CONTENTS
  70.                   -----------------
  71.  
  72.  
  73.        1  INTRODUCTION ..............................................   1
  74.       1.1 Description ...........................................   1
  75.       1.2 History ...............................................   1
  76.       1.3 Interface .............................................   2
  77.           1.3.1 Menus ...........................................   2
  78.           1.3.2 Pick List .......................................   3
  79.           1.3.3 Message Windows .................................   3
  80.           1.3.4 Query Boxes .....................................   3
  81.           1.3.5 Help ............................................   4
  82.        2  MENU TREE .................................................   5
  83.        3  MAIN MENU .................................................   6
  84.       3.1 Files .................................................   6
  85.       3.2 Define ................................................   6
  86.       3.3 Eval ..................................................   6
  87.       3.4 differenTiate .........................................   6
  88.       3.5 Integrate .............................................   6
  89.       3.6 Solve .................................................   6
  90.       3.7 Graph .................................................   6
  91.        4  FILES MENU ................................................   7
  92.       4.1 Load ..................................................   7
  93.       4.2 Write .................................................   7
  94.       4.3 Directory .............................................   7
  95.       4.4 Quit ..................................................   7
  96.        5  DEFINE MENU ...............................................   8
  97.       5.1 New ...................................................   8
  98.       5.2 Edit ..................................................   8
  99.       5.3 Delete ................................................   8
  100.       5.4 Clear .................................................   8
  101.        6  EVAL MENU .................................................   9
  102.       6.1 Single ................................................   9
  103.       6.2 Range .................................................   9
  104.        7  DIFFERENTIATE .............................................  10
  105.        8  INTEGRATE .................................................  11
  106.        9  SOLVE .....................................................  12
  107.       10  GRAPH MENU ................................................  13
  108.       10.1 Single ...............................................  13
  109.       10.2 Multiple .............................................  13
  110.       10.3 Types ................................................  14
  111.       10.4 Scaling ..............................................  14
  112.       10.5 Data File ............................................  14
  113.       11  DEFINING A FUNCTION .......................................  15
  114.       11.1 Form .................................................  15
  115.       11.2 Operators ............................................  15
  116.       11.3 Math functions .......................................  15
  117.       11.4 Sets of functions ....................................  16
  118.       11.5 Difficulties .........................................  16
  119.       12 EXAMPLES ...................................................  18
  120.       13 LEGALITIES .................................................  19
  121.       14 PRODUCT INFO ...............................................  20
  122.       15 ORDER FORM .................................................  22
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.       1  INTRODUCTION
  137.  
  138.  
  139.       1.1 Description
  140.  
  141.        MathTool is a program for learning and doing math. Anyone
  142.       studying or using subjects such as algebra, analytic geometry,
  143.       calculus, physics, or engineering will find MathTool to be very
  144.       useful.  Using Mathtool you can define functions using normal
  145.       mathematical notation, then investigate them in various ways.  It
  146.       is well known that human beings learn best visually.  With
  147.       MathTool math becomes visual and this is a great aid to
  148.       understanding.
  149.  
  150.            Using MathTool you can define any well-behaved 
  151.       mathematical function of a single variable.  (For a detailed
  152.       description of what makes a function well-behaved, see section
  153.       11.5, Difficulties.)  MathTool is designed to be easy to use,
  154.       using menus, context-sensitive help, and clear prompts at
  155.       every step.  Once you have defined a function, MathTool gives 
  156.       you the following capabilities:
  157.  
  158.     1) Evaluate the function for any value or set of values of the
  159.        independent variable.
  160.     2) Numerically integrate the function.
  161.     3) Evaluate the derivative of the function for a given value of
  162.        the independent variable.
  163.     4) Find solutions of the function over some range of the
  164.        independent variable.
  165.     5) Plot one or more functions.
  166.   
  167.        MathTool is written in Turbo Pascal 5.5.  MathTool requires
  168.       a minimum of 256k of memory.  MathTool will use your math
  169.       coprocessor if you have one.  The number of functions you can
  170.       define is limited only by memory.  Testing shows that even very
  171.       complicated functions rarely require more than about 50k of
  172.       memory, so you should never have problems with insufficient
  173.       memory.  The plotting requires graphics capability.  Plots can be
  174.       printed on an IBM graphics printer or compatible.  MathTool
  175.       supports all common PC graphics standards - CGA, EGA, VGA, and
  176.       Hercules.
  177.  
  178.  
  179.       1.2 History
  180.  
  181.        MathTool fills a need that I first perceived several years
  182.       ago.  At the time I was a student in engineering school.  Often
  183.       when I was reading some text or other, I would come across a
  184.       complicated mathematical function or formula.  Normally the
  185.       author of the text would describe the function and some of its
  186.       properties.  Sometimes he might include a plot illustrating these
  187.       properties.  At this point I usually thought that seeing more
  188.       plots of the function would make things much clearer, and the
  189.       more complicated the function the more I would feel this way.
  190.       This left me with three alternatives:  look in other texts in the
  191.       hope that I might find more information; plot it myself by hand,
  192.       a job only a masochist could enjoy; forget about it.  Naturally,
  193.       alternative three was my usual choice.
  194.  
  195.       MathTool User's Guide - Page 1
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.          Eventually, I became the owner of a Compaq Deskpro and a
  203.       copy of Turbo Pascal.  I started writing a program that would
  204.       plot any function that I could type in.  My purpose, at first,
  205.       was to learn programming in general and Turbo Pascal in
  206.       particular.  Then I started adding some other things, like
  207.       integration and derivatives.  The idea gradually grew that this
  208.       might make a good shareware program.  That eventually led to
  209.       version 1.0 of MathTool.  Later, when the program got to version
  210.       1.11, I renamed it MTool.  Now, for version 2.0, I am going
  211.       back to its original name.
  212.  
  213.          MathTool 1.0 was powerful enough that I wished I would
  214.       have had it when I was in engineering school. It certainly would
  215.       have added a fourth and most attractive alternative to the list
  216.       above.  In MathTool 2.0 I have taken the basic features of the
  217.       original program and expanded their functionality in numerous
  218.       ways.  Before you could only enter one function at a time.  Now
  219.       you can have an unlimited number of functions with names of your
  220.       own choosing.  Log-log and semi-log plots have been added.
  221.       Perhaps most importantly, the program sports a much improved user
  222.       interface, with context-sensitive help, menus,  and file support
  223.       so that complex function definitions can be saved for future use.
  224.  
  225.  
  226.       1.3 Interface
  227.  
  228.        The MathTool interface should be familiar to anyone with
  229.       even a modest amount of experience with MS-DOS software.  The
  230.       primary interface consists of a menu system that uses the
  231.       highly popular moving light-bar menus.  Query boxes are used to
  232.       get the answers to questions.  A pick list of the currently
  233.       defined functions is available for choosing a function.  Pressing
  234.       the <F1> key at any time bring context-sensitive help.
  235.  
  236.  
  237.       1.3.1 Menus
  238.  
  239.        The highest level of the MathTool interface consists of a
  240.       set of menus.  The main menu is horizontal and appears across the
  241.       top of the screen.  Secondary menus are vertical and appear as
  242.       appropriate.
  243.  
  244.        All of the menus work in the same basic fashion.  When the
  245.       menu appears one of the menu items is highlighted by a light bar.
  246.       This light bar is a different color on color monitors or inverse
  247.       video on monochrome monitors.  The user has two methods of making
  248.       a selection.  First, he can move the light bar using the arrow
  249.       keys, left and right arrows for horizontal menus, up and down
  250.       arrows for vertical menus.  If the light bar is at one of the
  251.       extremes of the menu and he pushes the arrow key that would take
  252.       him beyond that extreme, the light bar moves to the other extreme.
  253.       For example, if the light bar is on the top item on a vertical
  254.       menu and the user presses the up-arrow key, the light bar will
  255.       move to the bottom item on the menu.  Once the light bar is on
  256.       the proper menu item, the user can select it by pressing the
  257.       <RETURN> key.
  258.  
  259.  
  260.  
  261.        MathTool User's Guide - Page 2
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.        The second method is even simpler.  Each menu item will have
  269.       one character that is capitalized.  Usually, but not always, this
  270.       will be the first character.  The user can make his selection
  271.       simply by pressing the key that is capitalized, for example "f"
  272.       for Files or "c" for sCaling.
  273.  
  274.  
  275.       1.3.2 Pick List
  276.  
  277.        A pick list is a dynamic menu.  The pick list in MathTool
  278.       contains a listing of all the currently defined functions.
  279.       Choosing a function from the pick list is done by moving the
  280.       light bar to highlight your choice, then pressing <RETURN>.  The
  281.       alternative method of typing a capitalized letter does not work
  282.       for the pick list.
  283.  
  284.  
  285.       1.3.3 Message Windows
  286.  
  287.        Message Windows are used throughout MathTool to display
  288.       results and messages.  A Message Window is a window on the screen
  289.       which may have a frame around it.  The frame usually appears as
  290.       either a single or double line.  If you have a color monitor, the
  291.       Message Window will appear in a different color than the
  292.       background.
  293.  
  294.        Each Message Window has a specified size.  Sometimes the
  295.       message is too long to fit in the window.  When this happens you
  296.       will see the word "More" on either the top of the frame, the
  297.       bottom of the frame, or both.  This indicates that more of the
  298.       message is available by scrolling up or down.  You can scroll the
  299.       Message Window one line at a time using the UpArrow and DownArrow
  300.       keys, or one "screen" at a time using the PgUp and PgDn keys.
  301.       You can jump directly to the top or bottom of the message using
  302.       the Home and End keys.
  303.  
  304.  
  305.       1.3.4 Query Boxes
  306.  
  307.        A query box is a window that prompts the user for one or
  308.       more replies.  An example is the Solve Query Box where the user
  309.       is asked for the function he wishes to solve and for the lower
  310.       and upper bounds of the search range.
  311.  
  312.        A query box presents each query in the form of a prompt
  313.       followed by a blank field.  You enter your reply in this field.
  314.       After you have typed your reply you move to the next item in the
  315.       query box by typing <RETURN>.  Once you have left a query  you
  316.       cannot return to it.  You can, however, at any point during the
  317.       query box operation, exit by pressing the <ESC> key.  Any entries
  318.       you have made will have no effect.
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.       MathTool User's Guide - Page 3
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.        While you are entering a response to a query you can use the
  335.       following editing keys:
  336.  
  337.        Left arrow:         Move left one space
  338.        Right arrow:        Move right one space
  339.        Home:               Move to beginning of entry
  340.        End:                Move to end of entry
  341.        Backspace:          Delete character left of the cursor
  342.        Escape:             Exit
  343.        F1:                 Help
  344.        F3:                 Pick List (where supported)
  345.        F10:                Restore original string without exiting
  346.        Ctrl-Backspace:     Delete entire string
  347.  
  348.  
  349.       1.3.5 Help
  350.  
  351.        Context sensitive help is available at all times in
  352.       MathTool.  Press F1 for help.
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.       MathTool User's Guide - Page 4
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.       2. MENU TREE
  401.  
  402.  
  403.  
  404.  
  405.  
  406.                   Main Menu
  407.                       |
  408.                       |
  409.     +---------------------------------------------------------+
  410.     |      |        |            |            |        |      |
  411.       Files  Define  Evaluate  differenTiate  Integrate  Solve  Graph
  412.        Menu   Menu     Menu        Query        Query    Query   Menu
  413.     |      |        |           Box          Box      Box     |
  414.     |      |        |                                         |
  415.     |      |        +--- Single eval                          |
  416.     |      |          |                                       |
  417.     |      |          +- Range eval                           |
  418.     |      +---- New                               Single  ---|
  419.     |       |                                                 |
  420.     |       |--- Edit                            Multiple  ---|
  421.     |       |                                                 |
  422.     |       |--- Delete             Types---------------------|
  423.     |       |                        Menu                     |
  424.     |       +--- Clear                |                       |
  425.     |                                 |- Linear               |
  426.     |--- Load                         |                       |
  427.     |                                 |- lOg-log              |
  428.     |--- Write                        |                       |
  429.     |                                 +- Semilog              |
  430.     |--- Directory                                            |
  431.     |                                 sCaling  ---------------|
  432.     +--- Quit                           Menu                  |
  433.                          |                    |
  434.                          |-- Autoscale        |
  435.                          |                    |
  436.                          +-- User defined     |
  437.                                   |
  438.                                   |
  439.                           data File  -----+
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.       MathTool User's Guide - Page 5
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.       3. MAIN MENU
  467.  
  468.  
  469.        There are seven menu choices on the Main Menu.  Some lead to
  470.       other menus and some lead to query boxes.  These choices are
  471.       described in the following sections.
  472.  
  473.       3.1 Files
  474.  
  475.        The Files command on the Main Menu causes the Files Menu to
  476.       be displayed.  The Files Menu contains commands for reading and
  477.       writing files, for displaying a directory listing, and for
  478.       quitting the program.  The Files Menu is discussed in section 4.
  479.  
  480.       3.2 Define
  481.  
  482.        The Define selection on the Main Menu causes the Define Menu
  483.       to be displayed.  The Define Menu contains commands for defining
  484.       functions, editing existing function definitions, and undefining
  485.       functions.  The Define Menu is discussed in section 5.
  486.  
  487.       3.3 Eval
  488.  
  489.        The Eval command on the Main Menu causes the Eval Menu to be
  490.       displayed.  The Eval Menu contains commands for evaluating
  491.       functions either at a single point or over a range of points.
  492.       The Eval Menu is discussed in section 6.
  493.  
  494.       3.4 differenTiate
  495.  
  496.        The  differenTiate selection on the Main Menu causes the
  497.       Differentiate Query Box to appear.  This query box asks a set of
  498.       questions related to the numeric differentiation of a function.
  499.       The Differentiate Query Box is discussed in section 7.
  500.  
  501.       3.5 Integrate
  502.  
  503.         The Integrate command on the Main Menu causes the Integrate
  504.       Query Box to appear.  This query box asks a set of questions
  505.       related to the numeric integration of a function.  The Integrate
  506.       Query Box is described in section 8.
  507.  
  508.       3.6 Solve
  509.  
  510.        The Solve selection on the Main Menu causes the Solve Query
  511.       Box to be displayed.  This query box contains a set of questions
  512.       related to finding solutions of a function.  The Solve Query Box
  513.       is described in section 9.
  514.  
  515.       3.7 Graph
  516.  
  517.        The Graph selection on the Main Menu causes the Graph Menu to
  518.       be displayed.  The Graph Menu contains a set of selections
  519.       related to plotting a function or functions.  The Graph Menu is
  520.       described in section 10.
  521.  
  522.  
  523.  
  524.  
  525.       MathTool User's Guide - Page 6
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.       4. FILES MENU
  533.  
  534.  
  535.       4.1 Load
  536.  
  537.        The Load selection allows you to load a file of function
  538.       definitions into MathTool.  When you make this choice, the
  539.       program displays the Files Query Box.  This query box asks only
  540.       for the name of the file that you wish to load.  This file must
  541.       be an ASCII file.  It can be created using the Write selection
  542.       from the Files Menu after defining your functions, or by any 
  543.       editor which writes ASCII files.  You can add comments since 
  544.       anything on a line after an exclamation point is a comment.
  545.  
  546.        A directory path before the name of the file is optional.
  547.       If you enter just a filename, the program looks for the file in
  548.       the directory from which you started MathTool. If you wish to
  549.       load a file in a different directory you must include the path.
  550.       The path specifier may be either an absolute path such as
  551.       (C:\MATH\DEF\FILENAME.DAT) or a relative path such as
  552.       (..\DEF\FILENAME.DAT).  If the program cannot find the file, it
  553.       issues an error message.
  554.  
  555.  
  556.       4.2 Write
  557.  
  558.        The Write selection causes MathTool to write all the current
  559.       function definitions to an ASCII file.  After you make this
  560.       selection MathTool will display a query box which asks you for
  561.       the name of the file.  The default directory is the current
  562.       directory, that is, the directory from which you started
  563.       MathTool.  You can write the file to another directory by
  564.       preceding the filename with a path specifier.  Once you have
  565.       saved a definitions file you can load it during future MathTool
  566.       sessions.
  567.  
  568.  
  569.       4.3 Directory
  570.  
  571.        The Directory selection allows you to view a directory
  572.       listing.  After you make this selection MathTool displays a query
  573.       box which asks you to enter a mask.  This mask can include paths
  574.       and wild cards.  The default, chosen by simply pressing <RETURN>,
  575.       is a complete listing of the current directory, the directory
  576.       from which you started MathTool.
  577.  
  578.  
  579.       4.4 Quit
  580.  
  581.        Choose  Quit when you wish to exit from MathTool and return
  582.       to the DOS prompt.
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.       MathTool User's Guide - Page 7
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.       5. DEFINE MENU
  599.  
  600.       5.1 New
  601.  
  602.        Choose New when you wish to define a new function.  After
  603.       you make this choice a Definition Query Box will appear.  This
  604.       query box has only one question.  The prompt is "Function:".
  605.       You should type in the complete definition of your function, for
  606.       example, f(x) = cos(10*x) - sin(7*x).  When you press <RETURN>,
  607.       MathTool will read and parse your definition.  You can now use
  608.       MathTool to investigate the function.
  609.  
  610.        If the definition you enter is one that MathTool cannot parse,
  611.       a Correction Window will appear.  The Correction Window contains
  612.       a message describing why MathTool could not parse the function
  613.       and a line on which you can edit it.  The function as you defined
  614.       it will appear on the line.  You can edit using the same editing
  615.       keys described in section 1.3.4 on Query Boxes.  As an example
  616.       of how this might work, say you wished to enter the function
  617.       "f(x) = x - 1", but you made a typo and typed "f(x) = x -- 1"
  618.       instead.  The correction box would have the message that MathTool
  619.       cannot parse a function that has two operators in a row and ask
  620.       you to edit your function.  Once you complete the editing and
  621.       press <RETURN>, MathTool will parse the corrected function.
  622.  
  623.       5.2 Edit
  624.  
  625.        The Edit selection allows you to change the definition of 
  626.       an already defined function.  When you make this choice a
  627.       Definition Query Box appears.  The first entry in this box
  628.       asks you for the old function.  You can specify the function 
  629.       by typing its name, f(x), or by typing its complete definition,
  630.       f(x) = x - 1, or by pressing <F3> to use the Pick List.
  631.  
  632.        The second entry asks you for the new function.  Type in the 
  633.       new definition as described above under New, section 5.1.  After 
  634.       you complete this step the function will have its new definition.
  635.       This can be very useful when you are trying to determine the effect
  636.       of varying some parameter in a more complicated function.  Define 
  637.       the parameter as a constant function then use the constant in the 
  638.       more complicated function.  It is then very easy to change the 
  639.       value of the parameter.
  640.  
  641.       5.3 Delete
  642.  
  643.        This selection allows you to delete a function definition.
  644.       The Definition Query Box, like the one for New, only asks for 
  645.       one entry, the function you wish to delete.  You can specify
  646.       this function using either its name, f(x), its definition,
  647.       f(x) = x - 1, or by pressing <F3> to use the Pick List.
  648.  
  649.        5.4 Clear
  650.  
  651.        Choose Clear when you want to delete all of the defined
  652.       functions.  After you execute this command you will have an empty
  653.       function list as if you had just started the program.
  654.  
  655.  
  656.  
  657.       MathTool User's Guide - Page 8
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.       6. EVAL MENU
  665.  
  666.  
  667.       6.1 Single
  668.  
  669.        This command allows you to evaluate a function at a single
  670.       point.  When you choose this command an Evaluate Query Box
  671.       appears.  First it asks you for a function.  You can specify the
  672.       function in one of three ways: type its name, type its entire
  673.       definition, or press <F3> to use the Pick List.  The second
  674.       question is the value of the independent variable at which you
  675.       wish to evaluate the function.  Enter the numerical value.  Next
  676.       MathTool will display two windows.  The upper window will contain
  677.       the complete definition of the function you chose, including
  678.       subfunctions.  If the function definition is so large that the
  679.       window must go into scolling mode, then the second window will not
  680.       appear until after you exit the first window by pressing either
  681.       <ESC> or <RETURN>.  The lower window will contain the value of the
  682.       function for the specified value of the independent variable.
  683.  
  684.  
  685.       6.2 Range
  686.  
  687.        This selection allows you to evaluate a function over some
  688.       range of values.  After you choose this command MathTool will
  689.       display an Evaluate Query Box.  The first entry asks you to
  690.       specify the function you wish to evaluate.  You can do this in
  691.       one of three ways: type its name, type its entire definition, or
  692.       press <F3> to use the Pick List.  The second and third entries
  693.       ask for lower and upper bounds of the range over which you wish
  694.       to evaluate the function.  The fourth entry asks for the number
  695.       of divisions within the range you wish.  An example may make this
  696.       more clear.  Say your function was f(x) = x^2, the lower bound 0,
  697.       the upper bound 10, and the number of divisions 10.  The program
  698.       will display the following eleven values:
  699.  
  700.        f(0)  =   0.0000              f(1) =  1.0000
  701.        f(2)  =   4.0000              f(3) =  9.0000
  702.        f(4)  =  16.0000              f(5) = 25.0000
  703.        f(6)  =  36.0000              f(7) = 49.0000
  704.        f(8)  =  64.0000              f(9) = 81.0000
  705.        f(10) = 100.0000
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.       MathTool User's Guide - Page 9
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.       7. DIFFERENTIATE
  731.  
  732.  
  733.        Choosing the differenTiate Main Menu command allows you to
  734.       numerically evaluate the derivative of a function.  After you
  735.       choose this command, MathTool displays the Differentiation Query
  736.       Box.  The first entry in this query box asks you to specify which
  737.       function you wish.  You can do this in any of the standard three
  738.       ways:  type the function's name, type the function's entire
  739.       definition, or press <F3> to use the Pick List.  The second entry
  740.       in the query box asks for the value of the independent variable
  741.       at which you wish to evaluate the derivative.  Enter a numerical
  742.       value here.
  743.  
  744.        Shortly MathTool will display two windows.  The upper window
  745.       will contain a complete definition of your chosen function.  The
  746.       lower window will contain the value of the derivative.
  747.  
  748.  
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.       MathTool User's Guide - Page 10
  789.  
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.       8. INTEGRATE
  797.  
  798.  
  799.        The Main Menu Integrate command allows you to numerically
  800.       evaluate the integral of a function.  When you choose this
  801.       command, MathTool displays the Integrate Query Box.  The first
  802.       question asks you to identify which function you wish to
  803.       integrate.  You can do this in any of the standard three ways:
  804.       type the function's name, type the function's entire definition,
  805.       or press <F3> to use the Pick List.  The second and third
  806.       questions ask for the upper and lower limits of the integral.
  807.       The fourth question asks for the number of integration steps to
  808.       use in evaluating the integral.
  809.  
  810.        A warning is in order about this fourth step.  MathTool uses
  811.       Simpson's Rule to do numerical integration.  Simpson's Rule,
  812.       described in any introductory college calculus text, requires the
  813.       number of divisions of the range of the integral to be even.  If
  814.       you enter an odd number, MathTool will issue an error message.
  815.  
  816.        After you finish answering the queries, MathTool again
  817.       displays two windows.  The upper window contains the complete
  818.       definition of the function you chose.  The lower window contains
  819.       the value of the integral.
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.       MathTool User's Guide - Page 11
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.       9. SOLVE
  863.  
  864.  
  865.  
  866.  
  867.  
  868.        The Solve command on the Main Menu allows you to find the
  869.       roots of a function.  When you choose this command, MathTool
  870.       displays the Solve Query Box.  The first entry asks you to
  871.       identify which function you wish to integrate.  You can do this
  872.       in any of the standard ways:  type the function's name, type the
  873.       function's entire definition, or press <F3> to use the Pick List.
  874.       MathTool uses an algorithm that searches for roots within a range
  875.       of values of the independent variable.  The second and third
  876.       entries ask you to define the lower and upper limits of this
  877.       search range.
  878.  
  879.        After you finish the query box, MathTool once again displays
  880.       two windows.  The upper window contains the complete definition
  881.       of the function you specified, including subfunctions.  Since
  882.       finding roots can take some time, MathTool first displays a
  883.       message that it is working in the lower window.  After it has
  884.       finished its search, Mathtool displays the roots it found in the
  885.       lower window.  Each root is displayed in the form "f(a) = b"
  886.       where f(x) is the specified function, a is the value of the
  887.       independent variable, and b is the value of the function.
  888.       Usually b will have a value on the order of 1E-8 or less.
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.       MathTool User's Guide - Page 12
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.       10. GRAPH MENU
  929.  
  930.  
  931.       10.1 Single
  932.  
  933.        Make this selection from the Graph Menu when you wish to
  934.       plot a function.  The Graph Query Box will appear.  This query
  935.       box will ask you either four or six questions, depending on the
  936.       type of scaling in effect.  First it asks you to specify your
  937.       function.  You do this using any of the three standard methods -
  938.       type the function's name, type the function's complete
  939.       definition, or press <F3> to use the Pick List.  The second and
  940.       third entries are the lower and upper values of the independent
  941.       variable.  The fourth entry is the number of points to be
  942.       evaluated.  The number of points you should choose depends on
  943.       several things.  More points equals more processing equals more
  944.       time.  However, more points also means finer resolution of the
  945.       plot.  Generally speaking, the more complicated your function,
  946.       the more points you need to plot.  A straight line only needs two
  947.       points to display all the information.  Second and third order
  948.       polynomials need fifty to one hundred points.  Very complicated
  949.       functions such as complex trigonometric functions will need 200
  950.       or more points.  Going above about 600 points will buy you
  951.       nothing, however, since the graphics window only has about 600
  952.       pixels in the horizontal dimension.
  953.  
  954.        If the scaling is AutoScale, then you will be finished with
  955.       the query box after answering these four questions.  If it is
  956.       User-Specified, then you will be asked to specify the lower and
  957.       upper bounds for the vertical dimension in the plot window.
  958.  
  959.        Once you've completed the query box the processing for your
  960.       plot begins.  While this is happening MathTool displays a message
  961.       telling you that it is working.  As soon as it finishes it
  962.       displays the plot.  While the plot is displayed you may print it
  963.       by pressing the letter "p", either lower or upper case.  I
  964.       developed and tested the printing function using a Star Micronics
  965.       SG-10 dot matrix printer.  This printer is an IBM Graphics
  966.       Printer clone, so printing should work on any printer which
  967.       emulates the IBM.  After printing finishes you are returned to
  968.       the main menu.  Pressing any key other than "p" also returns you
  969.       to the main menu.
  970.  
  971.  
  972.       10.2 Multiple
  973.  
  974.        Make this selection from the Graphics Menu when you wish to
  975.       plot more than one function on the same graph.  After you make
  976.       this choice a series of Graphics Query Boxes will appear.  The
  977.       first asks you how many functions you wish to plot.  MathTool
  978.       allows as many as five.
  979.  
  980.        The rest of the series consists of one query box for each
  981.       function.  Each of these will be identical to the one described
  982.       above in the discussion of the Single menu choice.  If the
  983.       scaling mode is user-specified you will be asked to specify the
  984.  
  985.  
  986.       MathTool User's Guide - Page 13
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.       lower and upper bounds of the vertical axis in the first query
  995.       box.  You only need to specify these values once so these
  996.       questions will not appear in the later query boxes.  After you
  997.       finish each query box, MathTool does the processing for that
  998.       function and then displays the next query box.
  999.  
  1000.        When all the processing is done, MathTool displays the plot.
  1001.       If you have a color graphics system, each curve will be in a
  1002.       different color.  The plot header will have the main definition
  1003.       for each curve, but subfunction definitions will not be
  1004.       displayed.  Once again, you can print the plot by pressing "p";
  1005.       pressing any other key returns you to the main menu.
  1006.  
  1007.  
  1008.       10.3 Types
  1009.  
  1010.        MathTool supports three types of plots: linear, log-log,
  1011.       and semilog.  You use this menu to determine what type of plot
  1012.       MathTool will use.  After you make your choice, MathTool returns
  1013.       you to the Graph Menu.
  1014.  
  1015.  
  1016.       10.4 Scaling
  1017.  
  1018.        MathTool supports two kinds of scaling, AutoScale and User-
  1019.       Specified.  In autoscaling mode, MathTool finds the maximum and
  1020.       minimum values of your function over the range to be plotted.
  1021.       These two values then become the maximum and minimum values on
  1022.       the vertical axis and thus determine the vertical scaling.  In
  1023.       user-specified mode, you directly control the scaling of the
  1024.       vertical axis by specifying the maximum and minimum values.
  1025.  
  1026.  
  1027.       10.5 Data File
  1028.  
  1029.        Choose the data File selection on the Graphics menu when you
  1030.       wish to plot the contents of a data file.  The sample file
  1031.       data.dat included on the MathTool distribution disk shows the
  1032.       format a MathTool data file must have.  Comments can be included
  1033.       on any line after an exclamation point.  Data must be tab
  1034.       delimited.  The program reads the file and plots the data.  Only
  1035.       linear plots are available in this mode and no header will be
  1036.       displayed.
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.       MathTool User's Guide - Page 14
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.       11. DEFINING A FUNCTION
  1061.  
  1062.  
  1063.       11.1 Form
  1064.  
  1065.        MathTool allows you to define virtually any function of a
  1066.       single variable.  The independent variable and the function name
  1067.       can each be as long as ten characters each.  So you can have a
  1068.       function like
  1069.  
  1070.         "f(x) = cos(x)"
  1071.  
  1072.       or one like
  1073.  
  1074.         "pressure(depth) = AtmPressure + rho*g*depth".
  1075.  
  1076.       This function gives the pressure in a liquid, where AtmPressure
  1077.       is the atmospheric pressure, rho is the liquid's density, g is
  1078.       the gravitational acceleration, and depth is the depth below the
  1079.       surface.  It is defined in the file Pressure.dat on the MathTool
  1080.       distribution disk.
  1081.  
  1082.        Two warnings are necessary.  First, if you define a function
  1083.       or a variable whose name is longer than ten characters, MathTool
  1084.       is guaranteed to act erratically.  Second, MathTool will become
  1085.       very confused if you define two functions with the same name.
  1086.       For a detailed discussion of potential traps and pitfalls in
  1087.       function definition, see Difficulties, section 11.5.
  1088.  
  1089.  
  1090.       11.2 Operators
  1091.  
  1092.        The following operators can be used in MathTool function
  1093.       definitions.
  1094.  
  1095.         OPERATION     OPERATOR     EXAMPLE
  1096.  
  1097.         Addition          +       2 + 2 = 4
  1098.         Subtraction       -       3 - 2 = 1
  1099.         Multiplication    *       3 * 2 = 6
  1100.         Division          /       4 / 2 = 2
  1101.         Power             ^       2 ^ 3 = 8
  1102.  
  1103.  
  1104.  
  1105.       11.3 Math functions
  1106.  
  1107.        MathTool provides an extensive library of mathematical
  1108.       functions that you can use in your functions.  These are
  1109.       listed below with their syntax.
  1110.  
  1111.        FUNCTION                           EXAMPLE
  1112.  
  1113.        Absolute value                     abs(x)
  1114.        Exponential                        exp(x) 
  1115.        Cosine                             cos(x)
  1116.        Sine                               sin(x)
  1117.  
  1118.       MathTool User's Guide - Page 15
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.        Tangent                            tan(x)
  1127.        Inverse cosine                     acos(x)
  1128.        Inverse sine                       asin(x)
  1129.        Inverse tangent                    atan(x)
  1130.        Factorial                          fac(x)
  1131.        Hyperbolic sine                    sinh(x)
  1132.        Hyperbolic cosine                  cosh(x)
  1133.        Hyperbolic tangent                 tanh(x)
  1134.        Inverse hyperbolic sine            asinh(x)
  1135.        Inverse hyperbolic cosine          acosh(x)
  1136.        Inverse hyperbolic tangent         atanh(x)
  1137.        Logarithm, base 10                 log(x)
  1138.        Natural logarithm                  ln(x)
  1139.  
  1140.       Please note that all angles are in radians.
  1141.  
  1142.  
  1143.       11.4 Sets of functions
  1144.  
  1145.        One of the strengths of MathTool is that you define
  1146.       interrelated sets of functions.  A good example of this is
  1147.       provided in the file Sqwave.dat on the distribution disk.  This
  1148.       file contains a Fourier series approximation of a square wave.
  1149.       You can see this very clearly if you load the file and plot it
  1150.       over the range -5 to 5 with 200 points.  This example shows
  1151.       how you can build very complicated functions in a piecewise
  1152.       fashion.
  1153.  
  1154.  
  1155.       11.5 Difficulties
  1156.  
  1157.        In the introduction I mentioned that MathTool can handle
  1158.       virtually any well-behaved function of a single variable.  A
  1159.       definition of what constitutes a well-behaved function for
  1160.       MathTool is difficult, although certainly any function that fits
  1161.       the calculus definition of a continuous function would qualify as
  1162.       well-behaved.
  1163.  
  1164.        Functions that are not continuous can cause problems.
  1165.       Generally speaking, there are three ways that a function can fail
  1166.       to be continuous.  All three can potentially cause problems for
  1167.       MathTool, especially in the graphics area.
  1168.  
  1169.        First, it may happen that a function does not exist at some
  1170.       point.  One example might be a rational function at a point where
  1171.       the denominator becomes zero.  If MathTool attempts to evaluate
  1172.       the function at this point, it will issue an error message.
  1173.       However, you may ask for a plot of this function over a range
  1174.       that includes such a point but, because of your choice of
  1175.       end points and number of divisions, MathTool will not attempt
  1176.       to evaluate the function at that point.  A plot will appear, but
  1177.       the fact that the function does not exist at some point will not
  1178.       be apparent.  You would only become aware of this discontinuity
  1179.       if MathTool tried to evaluate the function at the actual point 
  1180.       of discontinuity and issued a division by zero error message.
  1181.  
  1182.  
  1183.  
  1184.       MathTool User's Guide - Page 16
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.        As an aside, you may at some point wish to investigate a
  1193.       function that has one or more discontinuities.  The discussion
  1194.       above points out a strategy you can use with these types of
  1195.       functions.  Just be sure to define your endpoints and number of
  1196.       subdivisions so as to avoid the discontinuity.
  1197.  
  1198.        Second, consider the function
  1199.  
  1200.         f(x) = sin(x)/x , x <> 0
  1201.         f(x) = 0, x = 0
  1202.        Note: The symbol "<>" is notation for inequality.
  1203.  
  1204.        Discontinuous functions of this nature cannot be defined in
  1205.       MathTool.  Only one of the two parts, say the first, could be
  1206.       defined.  Then f(x) = sin(x)/x becomes the type of function
  1207.       discussed above - it has a discontinuity at x = 0.  To see how
  1208.       this can cause problems, run MathTool and define f(x) = sin(x)/x.
  1209.       Try to evaluate it first at x = 0.0 and then at x = 1.0e-8.  When
  1210.       x = 0 you hit the discontinuity and MathTool gives you the wrong
  1211.       answer.  When x = 1.0e-8, no problems.  For a graphic
  1212.       demonstration of this problem, plot this function from -30 to
  1213.       30 twice - the first time with 200 points, the second time with
  1214.       201 points.
  1215.  
  1216.        Third, and most troublesome to MathTool, are functions that
  1217.       are not defined at some point, but do have limits that vary
  1218.       depending on the direction of approach to the point.  An example
  1219.       of this type of function is tan(x).  As x approaches pi/2 from
  1220.       below, tan(x) goes to infinity.  As x approaches pi/2 from above,
  1221.       tan(x) goes to negative infinity.  If you plot tan(x) from x = 1
  1222.       to x = 2, you will see a nearly vertical line at x = pi/2
  1223.       because MathTool connects the points on either side of pi/2.
  1224.  
  1225.        The upshot of all this is, if you are dealing with non-
  1226.       continuous functions, be careful.  If you get plots that seem
  1227.       strange, check your function to see if it is one of these types.
  1228.  
  1229.        Some other potential problems bear mentioning as well.  When
  1230.       you are plotting functions in log-log or semilog modes, you
  1231.       should make sure to avoid zero or negative numbers since their
  1232.       logarithms are undefined.  If you define a function or formula
  1233.       that represents a physical relationship such as the formula in
  1234.       Pressure.dat, you should be careful to use consistent units.
  1235.       This is entirely up to you because MathTool knows nothing about
  1236.       units.
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.       MathTool User's Guide - Page 17
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.       12. EXAMPLES
  1259.  
  1260.  
  1261.        MathTool comes with several files that contain sets of 
  1262.       functions ranging from very simple to very complicated.  Each 
  1263.       file is described below.
  1264.  
  1265.        Abc.dat contains a simple straight line and illustrates how
  1266.       to define and use constant functions.
  1267.  
  1268.        Cosines.dat contains one of my favorite test functions.  I
  1269.       used this file extensively while I was developing MathTool to
  1270.       check out the graphics and solving capabilities.  This file shows
  1271.       how to build a complicated function from simpler functions.  If
  1272.       you want to duplicate one of my tests, try solving
  1273.  
  1274.         f(x) = cos(8*x) + cos(9*x)
  1275.  
  1276.       over the range 0.0 to 4.0.  See how long it takes MathTool to
  1277.       find the eleven(!) roots in this range.
  1278.  
  1279.        Poly.dat contains a set of arbitrary polynomials.  This
  1280.       example also shows how to build very complex functions from
  1281.       simpler ones.
  1282.  
  1283.        Exp.dat contains two main functions.  The function f(x) is
  1284.       the Taylor series approximation for exp(x).  This Taylor series
  1285.       can be made to approximate exp(x) to any degree of closeness by
  1286.       adding more terms to the series.  The second function, g(x), is
  1287.       the difference between the Taylor series approximation and the
  1288.       actual exponential.  Playing around with functions like this will
  1289.       quickly give you a good idea of how useful a learning tool
  1290.       MathTool can be.
  1291.  
  1292.        Pressure.dat contains the formula for determining the
  1293.       pressure in a liquid at some distance below the surface,
  1294.       where rho is the density of the liquid, AtmPress is the
  1295.       atmospheric pressure at the surface, g is the acceleration of
  1296.       gravity, and depth is the distance.
  1297.  
  1298.        Data.dat contains a sample data file that can be plotted
  1299.       using the "data File" option on the Graphics Menu.  This file
  1300.       shows how a data file needs to be formatted for MathTool to read
  1301.       it.
  1302.  
  1303.        Sqwave.dat is the most ambitious of the examples included
  1304.       with MathTool.  This example is the Fourier Series approximation
  1305.       of a square wave.  Fourier was a nineteenth century French
  1306.       mathematician.  He proved that any periodic function can be
  1307.       expressed as the sum of an infinite series of sinusoidal
  1308.       functions.  The square wave approximation demonstrates this very
  1309.       clearly.  This is another great example of how useful MathTool
  1310.       can be for a student - it's very illuminating to add terms to the
  1311.       series one by one and see how quickly the series starts to
  1312.       approximate a square wave.
  1313.  
  1314.  
  1315.  
  1316.       MathTool User's Guide - Page 18
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.       13. LEGALITIES
  1325.  
  1326.  
  1327.        MathTool is shareware, also known as user-supported software.  
  1328.       The diskette with the program and the user's guide can be freely 
  1329.       copied and shared.  The idea of shareware is that if the user finds 
  1330.       the program worthwhile then he can, at his own discretion, support 
  1331.       the author by sending him a contribution.
  1332.  
  1333.        MathTool is NOT a public domain program.  It is copyright 
  1334.       (c) 1990 by Martin J. Maher, and the author reserves all rights.  
  1335.       In particular, he reserves the right to distribute MathTool, 
  1336.       associated libraries, and all source code and documentation for 
  1337.       profit.  There is no guarantee that MathTool will work correctly 
  1338.       in all situations, and in no event will the author be liable for 
  1339.       any damages arising from the use or misuse of MathTool.
  1340.  
  1341.            User groups, bulletin boards, clubs, and shareware distributors
  1342.       are authorized to distribute MathTool under the following conditions:
  1343.  
  1344.        1.  No charge is made for the software or the documentation.  
  1345.            A nominal fee may be charged to cover copying and
  1346.            distribution costs.
  1347.  
  1348.        2.  Recipients are to be notified of the shareware concept 
  1349.            and should be encouraged to support it.
  1350.   
  1351.        3.  The program and documentation are not to be modified in 
  1352.            any way.
  1353.   
  1354.        4.  The source code for MathTool is available for purchase 
  1355.            by registered users.  They may alter it for their own 
  1356.            use but may not distribute it for profit.
  1357.   
  1358.   
  1359.            Turbo Pascal is a trademark of Borland International, Inc.
  1360.       Compaq and Compaq Deskpro are trademarks of Compaq Computer Corp.
  1361.       MS-DOS is a trademark of Microsoft, Inc.  IBM, PC-DOS, CGA, EGA, and 
  1362.       VGA are trademarks of International Business Machines, Inc.  Hercules
  1363.       is a trademark of Hercules Computer Technologies, Inc.
  1364.   
  1365.  
  1366.  
  1367.  
  1368.  
  1369.  
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.       MathTool User's Guide - Page 19
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390.       14. PRODUCT INFO
  1391.  
  1392.  
  1393.        As stated above in the Legalities section, MathTool is
  1394.       shareware.  I hope that you find MathTool to be a useful and
  1395.       even enjoyable piece of software.  If you do, I hope that you will
  1396.       register your copy.  I've devoted a lot of time and effort 
  1397.       to developing MathTool, and, quite frankly, I would like to get 
  1398.       paid.  Ok, fair enough, you say, but what's in it for me?  When 
  1399.       you register you will receive the latest version of MathTool, if it 
  1400.       is different than the version you register.  When future upgrades 
  1401.       are released they will be available to you at reduced prices.  My 
  1402.       policy with version two has been to offer a free upgrade to every 
  1403.       registered user of version one.  While I cannot promise that this 
  1404.       policy will apply in the future, I can promise that your savings 
  1405.       will be considerable.  Finally, a modest amount of technical 
  1406.       support is available for registered users.  I can be reached either 
  1407.       by U.S. mail or on CompuServe as 72040,2404.  I will try to answer 
  1408.       your questions or help if you have problems.  
  1409.  
  1410.        There's one other thing I would like you to do if you like 
  1411.       this program - make copies and give them to your friends and 
  1412.       associates.  Not only are you allowed to do this with shareware,
  1413.       but I encourage you strongly to do it with mine.
  1414.  
  1415.        Other products will soon be available from MJM Engineering.  
  1416.       MathTool incorporates the object-oriented programming technology
  1417.       introduced by Borland International in version 5.5 of Turbo
  1418.       Pascal.  Most of the functionality in MathTool is based on
  1419.       objects contained in two extensive libraries, and these two
  1420.       libraries will soon be available either in object form, actually TPU 
  1421.       files, or source-code form.  Both will come with programmer's guides 
  1422.       and example source code.  Both libraries should be available in
  1423.       early 1991.  All MathTool registered users will be informed of 
  1424.       their release and, as another benefit of registration, will be 
  1425.       able to purchase the libraries for reduced fees.
  1426.  
  1427.        Finally, all the source code for MathTool is available.
  1428.       This option includes complete source code for the entire program,
  1429.       including source code for both libraries and both programming 
  1430.       guides when they become available.                              
  1431.  
  1432.        A handy order form with prices is included on the next page.
  1433.       One note - if you register MathTool without using the order form,
  1434.       please include a note telling me the version number of your copy 
  1435.       of the program.  This will help me determine if I need to send
  1436.       you an updated version.
  1437.   
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.       MathTool User's Guide - Page 20
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.       15. ORDER FORM
  1457.  
  1458.  
  1459.       Name_________________________________________________________
  1460.  
  1461.       Address______________________________________________________
  1462.  
  1463.       City/State/Zip_______________________________________________
  1464.  
  1465.  
  1466.        Item                           Price  Quantity  Subtotal
  1467.  
  1468.     MathTool registration             20.00    ___      ______
  1469.        Version 2.03
  1470.  
  1471.     Interface object library*         20.00    ___      ______
  1472.        with source                    40.00    ___      ______
  1473.  
  1474.     Function object library*          20.00    ___      ______
  1475.        with source                    40.00    ___      ______
  1476.       Note: requires interface library
  1477.  
  1478.     Both libraries*                   35.00    ___      ______
  1479.        with source                    70.00    ___      ______
  1480.  
  1481.     MathTool registration with
  1482.        complete source code for
  1483.        MathTool and both libraries    80.00    ___      ______
  1484.  
  1485.                     TOTAL                   ______
  1486.  
  1487.     * Libraries available first quarter 1991.
  1488.  
  1489.      Shipping and handling and any applicable sales taxes are
  1490.       included in the these prices.  If you are ordering from outside
  1491.       the United States, please send your funds as a money order
  1492.       drawn in U.S. dollars.  Thank you for your support.
  1493.  
  1494.       Mail to:
  1495.       
  1496.               Martin J. Maher
  1497.               MJM Engineering
  1498.               P.O. Box 2027
  1499.               Hawthorne, CA. 90251
  1500.  
  1501.      How did you learn about MathTool, how did you get your copy?
  1502.  
  1503.       ________________________________________________________________
  1504.  
  1505.       ________________________________________________________________
  1506.  
  1507.  
  1508.      Comments or suggestions
  1509.  
  1510.       _______________________________________________________________
  1511.  
  1512.       _______________________________________________________________
  1513.  
  1514.  
  1515.       MathTool User's Guide - Page 21
  1516.