View this file in a text ____________ editor such as OPL. / \ Use the small font and / \ turn the status window ³/ ___ ___ \³ off. / / ³³ \ \ \ \_O//\\O_/ / Use Ctrl-Menu to turn \ /__\ / the status window off. ³ \ / ³ Use Shift-Psion-Z to zoom. ³ [[[]]] ³ \ [[]] / \___/\___/ ÚÄÄÄÄÄÄÄÄooooOÄÄÄÄ -OO- ÄÄÄÄOooooÄÄÄÄÄÄÄÄ¿ ³ Graph3a for Psion Series 3a ³ ³ ³ ³ Gareth Wild, 53 Woodhouse Lane, Norden ³ ³ ROCHDALE, Lancashire, England OL12 7SD ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Copyright ¸ Gareth Wild 1996 **NEW to Version 1.2** þ Addition of "Zoom out" option þ Addition of help straight from menu þ Addition of current graph mode info in temporary status window þ Correction of a small bug that wouldn't allow equations with a right hand bracket just before a function such as (2x+1)sin(x) or (4t2-6)tan(5t) þ Graph3a will now tell you if you're in the wrong 'family mode' for the current graph, be it one you've just entered yourself or one from the datafile þ Can now redraw by just pressing Enter and manually edit ranges by just pressing the Space bar. Graph3a is intended to emulate the speed and ease of use of Casio and Texas Instruments graphical calculators. Cartesian(normal), polar and parametric graphs can all be drawn. Zooming and tracing options are both available. The main advantage is the ability to enter equations as they appear on paper without the need to constantly think about inserting * and ** signs, the computer does this for you. eg for 2xý-4x+1-4xsin(5x) you would enter: 2x2-4x+1-4xsin(5x) and not: 2*x**2-4*x+1-4*x*sin(5*x) (See the Easy Equation Input section below for more information) Help screens are available to use at virtually any point in the program by simply pressing the "Help" button. This function will not work if the \APP\GRAPH3A\grafhelp.rsc file is not present. These are the files that have been unzipped. If they are not in the correct directories below you must copy them there. File Directory Comments Graf3a12.opa \APP\ The main program Grafhelp.rsc \APP\GRAPH3A\ The help screens, can be deleted to free memory Datafile.odb \APP\GRAPH3A\ Database of example graphs, view with Psion-O Graph3a.txt This file Graph3a.ini \APP\GRAPH3A\ Stores all preferences and graphs on exiting Graph3a.reg \APP\GRAPH3A\ Stores registration codes after you register Only the application file Graf3a12.opa is essential for the running of the program, all the rest are just support files and can be deleted to save memory. The files can be copied to any local drive or C:\ and will be accessed from there. Memory Information: Graf3a12.opa is about 34K long and uses about 15K of memory whilst running. Installation: 1) Install the application in the usual manner by pressing Psion-I and selecting Graf3a12.opa on the correct drive at the dialog. 2) You may find it convenient to assign a button to the Graph3a application so that you can jump to it quickly from other applications. This can be done by placing the cursor on the Graph3a application on the "Systems" screen, pressing Psion-A and then choosing an appropriate combination of keys (such as Control-Calc). Quick note for those upgrading from version 1.0: 1. Delete \APP\GRAPH3A\Graph3a.ini before you install version 1.1, otherwise you'll generate a 'field not found' error on entering for the first time 2. Registered users: you don't have to type your codes in again 3. Default ranges is now Psion-Shift-D not Psion-D 4. Rectangular graphs are now renamed cartesian graphs-the correct term Quick Glossary of Keys: Tab............Used to edit the graph in the current mode Also used to input your own values during tracing  (diamond)....Changes graph mode Esc............Terminates graphing, printing, zooming and tracing etc. Also can be used to exit dialog boxes and the main application if nothing is running. Enter..........Redraws last graph in current mode Space..........Brings up ranges dialog Delete.........Clears graph, needs confirmation Menu...........Brings up menus Help...........Brings up relevant help screens Psion-O........Retrieve/delete saved graphs Psion-S........Save current graph for future recall Psion-N........Edits the graph in the current mode (same as pressing Tab) Psion-Shift-S..Standard graphs ( sin(x),xý,log(x) etc. ) Psion-M........Changes graph mode (same as pressing ) Psion-F........Family On/Off Psion-T........Trace Psion-Z........Zoom in Psion-Shift-Z..Zoom out Psion-Shift-R..Redraws graph last graph entered (same as pressing Enter) Psion-C........Clears graph (same as pressing Delete, Delete) Psion-G........Register (disappears in registered versions) Psion-R........Change ranges manually (same as pressing Space bar) Psion-Shift-D..Defaults ranges Psion-Shift-B..Basic ranges Psion-Shift-T..Trig ranges Psion-Q........Set preferences Psion-P........Print graph Psion-D........Use degrees/radians Psion-A........About Graph3a Psion-Shift-X..Exit,lose changes Psion-X........Exit (surprising..eh?) First Steps:(Tutorial) Enter the application by pressing Enter when Graph3a is highlighted on the "Systems" screen. The first thing that should appear is a box stating that this is an unregistered version. This is the nag screen; it will appear every time you open or exit Graph3a, and every 20 minutes when Graph3a is open. Press Enter or Esc. You can now enter your first graph. Press Tab or Psion-N, this brings up a dialog where you can enter a graph as a function of x. Y=X2-x-8 is shown (ie Y=Xý-x-8). You can type in your own graph or just leave this as it is. The 'Speed' line sets the speed of graphing from 1 (slowest) to 20 (fastest) (graphing on 1 takes about 20 secs but only 1 sec when on 20). This is originally set to 5 but you can change it. The graph plots less points on higher speeds, so the look of the graph will be sacrificed for a quicker plot Press Enter. The graph will be drawn. Try out various functions on the menus such as the zoom or trace options. Terminate any processes you may be in by pressing Esc. Press Psion-Shift-D to reset to the default ranges. Try changing the graph mode to polar by pressing Psion-M and selecting polar before completing the dialog by pressing Enter. Press Menu. Notice that the Psion-N option has changed from "New Cartesian Graph" to "New Polar Graph". Highlight this and press Enter. A similar dialog appears to that for a cartesian graph. Equations must be typed in as a function of i. The Min and Max lines are the minimum and maximum values of i to be plotted. The pitch is how often points are to be plotted, the smaller this is the more accurate the graph, but the slower it is to plot. The graph of r=8sin(3i) is highlighted. Press Enter. The polar graph will have been drawn. Press Psion-C to clear the polar graph. Press the  (diamond) key once. This is an alternative to using the Psion-M option and simply cycles through the graph modes with consecutive presses. Press Tab or Psion-N to view the Parametric graph dialog. The equations must be entered as functions of t. Min and Max lines are the minimum and maximum values of t to be plotted. The pitch dictates how often points are to be plotted within these values. Change the 'Max' value to 4pi and the 'Pitch' value to pi/18. Press Enter to plot the Parametric graph. Press Psion-Q to have a look through the 'Set Preferences' option. Try playing around with the various options, the definitions of which can be found in the list of functions below. If you have a parallel printer you can use the 'Print Graph' option, although unregistered versions of the program only allow 5 print credits. Press Psion-F to turn Family On. Press Psion-Shift-D to set default ranges and set the graph mode to Cartesian Press Tab You will see a new set of options has been added to the New Graph dialog. Type in (x+1)(x-k) on the Graph Y= line. Set speed to 5 Set k minimum to 1 Set k maximum to 5 Set k pitch to 1 Press Enter The following graphs will be drawn in order: Y=(x+1)(x-1), Y=(x+1)(x-2), Y=(x+1)(x-3), Y=(x+1)(x-4), Y=(x+1)(x-5) Press Psion-T to trace. Using the up and down arrow keys you can cycle between the 4 graphs Aswell as the final graphs, in each mode, being saved on exiting; you can save an indefinite number of graphs by pressing Psion-S when you have just entered them. This stores them in \APP\GRAPH3A\DATAFILE.ODB on your default disk. These graphs can be retrieved or deleted by pressing Psion-O and browsing through the datafile. Some information is stored about the speed or pitch of the graph saved, however ranges, grid on/off, family on/off etc. are NOT saved. This is to save memory. MENUS "File" Menu 1) "Open datafile": (Psion-O) Retrieve/delete saved graphs. 2) "Save to datafile": (Psion-S) Saves the current graph to the datafile \APP\GRAPH3A\DATAFILE.ODB. Details of speed, pitch etc are stored along with the graph. "Graph" Menu 1) "New ** Graph": (Psion-N) [where ** is Cartesian, Polar or Parametric] This option can also be accessed by pressing Tab in the program. (See Easy Equation Input section below for details on syntax) 2) "Standard Graphs": (Psion-Shift-S) Select from a range of standard cartesian graphs in the dialog. The ranges, speed and mode are reset to the correct values if needed. 3) "Graph Mode": (Psion-M) (The  (diamond) key can also be used to toggle between graph modes) Chooses between Cartesian, Polar and Parametric graphs. A confirmatory message appears in the bottom left hand corner when a new graph mode has been selected. Pressing Esc in this dialog exits the dialog and retains the old graph mode. 4) "Family On/Off": (Psion-F) Used to toggle between plotting single and families of graphs. When Family is set On, until you turn it off, families of graphs can be drawn using the usual Tab or Psion-N to input them. Graphs have a common constant k, which starts at a minimum value set by you and then draws as many graphs has you have told it to. All you do is: 1. Press Tab to input a family 2. Input an equation with the usual variable and k as a constant. 3. Set the speed or pitch as normal 4. Set a minimum value for k 5. Set a maximum value for k 6. Set a pitch for k - this is the step size eg Y=kx+k, k min=2, k max=4 ,k pitch=1 draws Y=2x+2, Y=3x+3 and Y=4x+4 it is written down in the top left hand box as: Graph Y=kx+k;k=2,4,1 NB remember to turn Family Off and edit out any constants (k) when you want to plot single graphs again! "Tools" Menu 1) "Zoom in":(Psion-Z) A way of zooming in on a portion of the graph. Use the arrow keys to move the cross-hairs; Psion-arrow key moves faster. Press Enter where you want a corner of the box and then expand it using the arrow keys. Pressing Enter a second time redraws the portion of the graph within the Zoom box at greater magnification. Pressing Esc at any time will terminate the zoom function. 2) "Zoom out":(Psion-Shift-Z) All this option does is to double all the current range values and then redraw the graph. Use this option to quickly zoom out if the area of the graph you have drawn is too detailed. NB Xscl and Yscl are not doubled so if you zoom out a couple of times and the grid is looking cluttered, increase the Xscl and Yscl values using the 'Ranges' option. 3) "Trace":(Psion-T) Used to find values along the curve of a graph. Values appear in the bottom left hand box. If the cross-hairs are not shown on the current ranges a small box appears with arrow(s) in it. These arrows give a rough indication of where the cross-hairs are outside the ranges. The following keys apply: Left/Right............change value of X, I or T (depends on current mode) Ctrl-Left/Ctrl-Right..as above but in greater bounds Up/Down...............toggle between graphs (Family On only) Home..................Goes directly to the minimum value End...................Goes directly to the maximum value Tab...................Enter your own value Esc...................terminates tracing If the graph doesn't exist eg sqr(-2) or has an asymptote eg tan(pi/2) then this will appear in the bottom left hand box. Your own asymptote detection value can be input in the 'Set Preferences' option. 4) "Redraw":(Psion-Shift-R) Redraws the last graph plotted in the current graph mode. (The same effect can be achieved by pressing Enter when nothing else is running) 5) "Clear":(Psion-C) Clears the graph(s) and redraws the axis and grid (if turned on). "Register" Menu 1) "Register":(Psion-G) Allows the registration of this piece of software by the typing in of a couple of simple codes. Registration gets rid of all the nag screens and gives the user unlimited print credits, aswell as free future upgrades. This menu item and it's hot key disappear in the registered version. To obtain the codes send œ8, $15 or the equivalent in your currency to: Gareth Wild 53 Woodhouse Lane Norden ROCHDALE Lancashire England OL12 7SD Please state your name clearly at the end of any correspondence. This is because the codes will be unique to you and your name will flash up very briefly at the start of the program and appear in the 'About' box. Also until April 1997 you can use the email and snail-mail address below: **Please don't send correspondence to this address after April 1997 as I won't be there!** ''~'' ( o o ) ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ.oooOÄÄ(_)ÄÄOooo.ÄÄÄÄÄÄ¿ ³ Gareth Wild (third year medical student) ³ ³ email: gw4@st-and.ac.uk Author of: Graph3a ³ ³ post: St.Regulus Hall, Queens Gardens GWmaths ³ ³ ST.ANDREWS ,Fife KY16 9TQ .oooO ³ ³ phone: (01334) 465000 ext. 4765 ( ) Oooo. ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ\ (ÄÄÄÄ( )ÄÄÄÄÄÄÄÄÙ \_) ) / (_/ "Range" Menu 1) "Range": (Psion-R) Allows the user to input their own graph ranges. Xmin and Xmax are the minimum and maximum values of X respectively. Xscl is the value of the distance between the incremental marks on the X-axis. Ymin, Ymax and Yscl are the Y-axis equivalents. If Enter is pressed in this dialog the axes are redrawn. Inputs can be in the form 2pi for 2*pi etc. as in the "New Graph" dialog. (this option can also be entered by pressing the Space bar when nothing else is running) 2) "Default Ranges": (Psion-Shift-D) Sets the standard -10 Y=sin(rad(x)) (x in degrees) This is no longer the case in versions 1.1 and 1.2 If you want to input a trig graph in degrees, just press Psion-D A 'Using degrees now' message will appear and you just type in the graph as normal. The computer will add the RAD command to the equation in its own memory, and the outcome is the required graph. NB some weird graphs can be produced if you think you are working in radians but are still in 'Using degrees' mode in Graph3a. Always make sure you are using the correct trig units. 4) "About": (Psion-A) Displays information about the author and the version code. In the unregistered version this appears whenever the application is opened of closed, or when 20 minutes have elapsed. 5) "Exit,lose changes": (Psion-Shift-X) Exits the program and keeps the ranges, graphs etc. shown at start up and doesn't save the present settings. 6) "Exit": (Psion-X) Exits the program and save the present settings. Exiting can also be done from the 'System' screen, if the program is not busy, by pressing Delete on the highlighted Graph3a name, or by pressing Esc in the main body of the program (both cases require a confirmation and will save the present settings). Easy Equation Input: This application uses a simple method of equation input. You can type in equations with or without * and **. Equations may be written in upper or lower case letters: eg 2SIN(3X), 2*sin(3*x) and 2Sin(3*X) are all equivalent Xü would be written as X3 (or X**3) Xý would be written as X2 (or X**2) So 3Xü+4Xý+9X+1 could be written as: 3X3+4X2+9X+1 or 3*X**3+4*X**2+9*X+1 I think is easy to see which one is more simple to type and easier to read. The syntax for functions is the same as in the calculator eg COS(X), SQR(X) (ie you must put the expression to be executed by the function in brackets) cosx, sin3x etc. are NOT valid expressions Graph3a will execute equations with multiple brackets eg (x+1)x(x-1)(x-2) ..is a valid expression 4(2x-1)2 ..........is a valid expression (ie 4(2x-1)ý) If you put letters together and they are not interpreted as a function then Graph3a will multiply them eg xxx .............executed as x*x*x ii ..............executed as i*i If you keep getting an 'Unexpected name' error message on an equation you really want to enter, type it in long hand ie with * and **. The following mathematical functions are allowed: COS,SIN,TAN,ACOS,ASIN,ATAN,RAD,DEG,EXP,LN,LOG,PI,SQR,RND,ABS,INTF Things to Note: The application uses Calc memories M6, M7, M8 and M9 in the calculation of graphs and during tracing. Don't store information in these memories as it will be overwritten the next time Graph3a is used. It is possible to terminate graphing at any point by pressing the Esc key. As the computer stores key presses in its buffer, if you have kept clicking on the arrow keys on the "Trace" function and then take your finger off the button the cross-hairs will continue moving as the computer catches up with the calculation. Vertical/horizontal asymtotes are often seen as vertical/horizontal lines. To remove these play about with 'Pitch' value or 'Speed' values ie when drawing Y=tan(x) use a low 'Speed'. You can achieve the same effect by reducing the size of the 'Detect Asymptote at' line in the 'Set Preferences' option. It is not possible to bring up a permanent status window by pressing Control-Menu, however, a temporary status window that contains a clock and information on the current graph mode may be brought up pressing Psion-Menu. If you enter a graph that contains the constant k and you are in 'Family Off' mode, Graph3a will give you the option of turning 'Family On'. Likewise, if you are in 'Family On' mode and you enter an equation without a k in it, Graph3a will give you the option to turn 'Family Off'. Trouble Shooting: Q. "I've typed in COSX to draw the cosine of x but get an "Unexpected Name" error. What am I doing wrong?" A. "All functions should be entered as they appear in the calculator (with brackets) eg COS(X) for cosine of x, pi for 3.14159..., ln(x) for the natural log of x etc." Q. "Parts of my graphs are plotted as points when I've not chosen 'Plot points only'. How do I prevent this?" A. "Your 'Detect Asymptote at:' value (found in the 'Set Preferences' option) is set too low. Increase it to about 1000" Q. "There are vertical/horizontal lines on the graph where there should be asymptotes. How do I get rid of these?" A. "Reduce the Pitch (or Speed, if in cartesian mode) of the graph. Also reduce the 'Detect Asymptote at' value in the 'Set Preferences' option." Q. "When I've aborted a printout, the next graph to be printed has a load of weird characters and squiggles printed before it. How do I stop this from happening?" A. "You have not cleared the printer's buffer after aborting the graph, this means that there are still bits of redundant information present. Resolve this by turning the printer off and on after aborting a graph." Q. "I've tried to draw the graph Y=sin(x) but it looks all squashed up and skew. What have I done wrong?" A. "The most probable explanation is that you have ranges set for a DEGREES trig graph but have changed to using RADIANS. Either go back to using DEGREES or re-edit you ranges to fit the RADIAN graph" Q. "I've tried to draw the graph Y=sin(x) but it looks all squashed or doesn't look like it's been plotted at all. What have I done wrong?" A. "The most probable explanation is that you have ranges set for a RADIANS trig graph but have changed to using DEGREES. Either go back to using RADIANS or re-edit you ranges to fit the DEGREE graph" Q. "I've retreived a family graph from the datafile with the constant k in it, however, only one graph has been drawn. Why?" A. "You're set to Family Off at the moment. Press Psion-F to turn Family On and then press Psion-Shift-R (or just Enter) to redraw" Q. "I've tried to draw a single graph but a Graphing k=1.. message appears in the top right hand corner followed by other messages. However, only one graph is drawn. What have I done wrong?" A. "You're set to Family On at the moment. Press Psion-F to turn Family Off" Q. "Graph3a won't start-up properly. How can I correct this?" A. "Try deleting the \APP\GRAPH3A\GRAPH3A.INI file that contains your initialisation settings, and try again." Thanks to: My beta testers Marcus Radburn-Smith and my brother Leon for all their help and suggestions. Also thanks to John Boyce for his JBbox macro that helped draw the little graphics in this text file. Legal Bit: Copyright ¸ Gareth Wild 1996 This program comes with no warranty of any kind. Reverse translation of this program is prohibited. Graph3a is protected against reverse translation. Bug reports to the address at the start of this file.