@DATABASE "Eqn solver.guide" @REMARK $VER: Eqn solver manual @NODE MAIN "Eqn solver Guide Main Menu" Eqn Solver V 1.0 by John Ogden 1994 User Manual @{" Introduction " LINK Eqn-intro} @{" How to Change Equations " LINK Eqn-change} @{" Main Menu " LINK Eqn-mmenu} @{" Interial Bisection " LINK Eqn-bin} @{" Decimal Search " LINK Eqn-dec} @{" Newton Raphson " LINK Eqn-newt} @{" Iterative method " LINK Eqn-itter} @{" The Grapher " LINK Eqn-graph} @{" The setup Page " LINK Eqn-setup} @{" How the methods work " LINK Eqn-HowWork} @{" Future Versions " LINK Eqn-Fut} @{" The Author " LINK EQN-ME} @endnode @node Eqn-intro "Introduction" Introduction This is EQN SOLVER V 1.0 as at Feb 1994 Eqn Solver is a handy little program, written in Amos Professional, used for solving complicated equations that can not be solved in the usual way or those which would take much too long to solve in the normal way (you can't be bothered to do it properly in other words), it does not solve simultaneous equations. example. Sin x - Ln x + ( Cot x * Cosec x ) + 2 = 0 Would be a real pain to solve using mathematical theory, if you don't believe me try it, Eqn Solver will solve just about any equation that has real roots, it does not however find imaginary roots, YET. Eqn solver will also display 紳 壬retty 壬icture 塵f 腎he @{"Graph" link Eqn-graph} of the equation. Note: Eqn solver may not get the EXACT root, it will only get a pretty good estimate of the root. This program can be used when doing coursework for pure maths module three, if numerical methods are on your A level syllabus. Eqn solver can use any one of four algorithms to solve the equations these are : @{"Interial bisection" LINK eqn-bin } @{" Decimal Search " LINK eqn-dec} @{" Newton Raphson " LINK eqn-newt} @{" Iterative method " LINK eqn-itter } @endnode @node Eqn-change "How to change an equation" 1) How to change the equation To change an equation you will 刃eed 腎o 親dit the actual program, at this 閣ime this is un avoidable, sorry for any problems in doing this. 1) Look through the program for the 神EQN[X#] procedure, open this if it 格s closed by pressing F9. 2) Chose which equation you wish to alter, there are four as a default. 3) Delete everthing on the line after Def Fn F (X#) = 4) Type in your equation in here. 5) In the _DYDX[X#] procedure change the 尽ame equation number as you altered 格n step 3 and type in the differential of your new equation. 6) In the _XEQUALS[X#] procedure 芯hange 腎he 尽ame 親quation, but this time 各nter what X equals in the function. @endnode @node Eqn-mmenu "The Main Menu " 2) Main Menu To select an option press the option's number and then press the return key, for example to chose option number 3 press the key with 3 printed on it then press the big grey key with the arrow on it, do not type the word three to find out what the option number is look at the number next to the options name, it is the same. Spooky! What a coincidence! I bet it's aliens who did that ! @endnode @node Eqn-bin "Interial Bisection" 3) Interial Bisection This method is similar to the decimal search, except it works in base two not 10. First you must enter the number of itterations you require, you can use any number between 1 and 28, arround 10 is usually enough. You must then enter the two X values, one at each side of the root you are trying to find, if you are not sure which values to chose you should check the graph of the equation. The program now checks to see if there is a root between the two points, if there is, the results will be displayed, if not you will be told and asked if you want to try again. @{"How does it work ?" LINK eqn-howwork} @endnode @node Eqn-dec "Decimal search" 4) Decimal Search First the program asks how many itterations (decimal places) you require, type in the number, you will then be asked for the x position to start the search. The program then displays the results. Each decimal place will be displayed seperatley, to go on to the next place press any key. @{"How does it work ?" LINK eqn-howwork} @endnode @node Eqn-newt "Newton Raphson" 5) Newton Raphson You will be asked for the number of itterations you require, and then for the start X position, the program then displays the results. @{"How does it work ?" LINK eqn-howwork} @endnode @node Eqn-itter "Iterative method" 6) Iterative method You are asked for the number of itterations you require, then for the start x position, the results are then displayed. @{"How does it work ?" LINK eqn-howwork} @endnode @node Eqn-graph "The Grapher" 7) The Grapher The graph menu has 6 options to configure the graph to your needs, these are X scale The number of pixels in the graph per unit of the X axis Y scale The number of pixels in the graph per unit of the Y axis X line Along the X axis there are lines that tell you the scale this tells the program how often to put them use 0 for no lines Y line Same as X line except along the Y axis X axis Tells the grapher where the X axis is, the default is 0. Y axis Tells the program where the y axis is, default is 0 Once the graph is drawn you can zoom in by fifty percent by pressing the I key, To zoom out press the O key. To save the graph as a 2 colour interlaced hires iff picture press the s key To scroll arround the graph use the arrow keys. To leave the graph screen press the escape key @endnode @node Eqn-setup "The setter upper" 8) The setup Page This lets you change the values of everything, and where the text files are saved, Load and save let you load and save the setup in a text file. Equation type is used to switch between the equations @endnode @node Eqn-howwork "How they all work" 9) How the Methods work How the methods work - @{"Interial bisection" LINK eqn-bin } 1) This method inputs two initial values of x, it is presumed that you know that the is a root between the two points. 2) The mid point of these two values is then found. 3) These three values are then put into then equation you are trying solve. 4) The program then checks if the root is between the first x value and the mid point, or between the mid point and the second x value. 5) If it is between the first and the mid point, then the second x value is made equal to the mid point, and we go back to stage 3, if not the root must be between the mid point and the second x value, so the first x value is made equal to the mid point and you go back to stage 3. 6) When you think that you have a good enough estimate of the root, you stop How the methods work - @{"Decimal search" LINK eqn-bin } 1) This method inputs an initial X value, it then adds one to this value until the value of the equation changes sign, one is then taken from the equation. 2) 0.1 is then added to the X value until the value of the equation changes sign. 3) 0.01 is added and so on until you have a good enough estimate of the root. How the methods work - @{"Newton raphson" LINK eqn-newt } This method was thought of by Isaac Newton and somebody called Raphson To understand how it works you need to understand how to differentiate equations, if you don't, then use another method or ask someone to explain how, basically it is a way of finding the gradient of a line, 1) The method works by finding the equation of the tangent at point X. 2) You then find where this line cuts the X axis. 3) This point is your new X value, and you go back to stage 1 4) You repeat this as many times as you feel is needed. Here is a short table of common differentials. -------------------------------------------------------------------- | Expression | Differentiates to | -------------------------------------------------------------------- | | | | X squared | 2 times X | | X cubed | 3 times X squared | | A * X to the N | A * N * X to the N-1 | | Sin X | Cos X | | Cos X | -Sin X | | Tan X | Sec squared X | | Ln X | 1/X | | e to the X | e to the X | | Sin X over X squared | ( X * Cos X - 2 * Sin X ) / X Cubed | | Any number | 0 | | | | -------------------------------------------------------------------- How the methods work - @{"Iterative method" LINK eqn-itter } For this method you need to define another function, G of X to do this re- arrange your initial equation to find an expression for X equals. 1) You input a value of X. 2) This value is put into G of X, 3) The value that is returned is put back into G of X 4) You repeat this process until you have a good estimate or get bored Note: this method usually diverges away from the root into infinity @endnode @node Eqn-fut "Future Additions" 10 Future Additions A system where the user does not have to look through the program, and manually define each function, this could be in the form of a mouse driven calculator like device, but I don't know how to turn a string into a function. If anybody does I would like to know how, please let me know, you will get a mention in this manual if you do! The above Idea could be extended so that the user does not have to manually differentiate the equation. The setup page should really display the current equation and not the equations number Direct printer support added A GUI needs adding to make the interface more user friendly, and slower and more complicated to use. The method of putting the interval lines on the graphs axis needs improving. A little program could be added that hacks into the banks computer and credits the user's account with around 」 1,000,000,000, and is completely un- traceble except if John Major is using it, in which case if phones the police man or woman that is always standing outside his front door and around 50 reporters from various paper and television companies, then invites them all in for a quick coffee. Any ideas how to do this ? @endnode @node eqn-me "The Author" The Author - Me This program was initially written to 仁ake Pure maths 3 coursework easier but its a bit late for that after all this work. If you have any comments, bug reports (and preferably fixes) or you know how to turn strings into functions or you want to donate huge amounts of money to me let me know at John Ogden 68 Babylon Lane Anderton Chorley Lancashire England PR6 9NW @endnode