More actions
No edit summary |
No edit summary |
||
Line 16: | Line 16: | ||
==Features== | ==Features== | ||
*Evaluates mathematical expressions... including those with exponents, trig, and logarithmic functions | * Evaluates mathematical expressions... including those with exponents, trig, and logarithmic functions. | ||
*Includes a CAS to simplify algebraic expressions, including foiling | * Includes a CAS to simplify algebraic expressions, including foiling. | ||
*Graphs regular, inverse, parametric, and polar equations, as well as slope fields and Euler's method | * Graphs regular, inverse, parametric, and polar equations, as well as slope fields and Euler's method. | ||
*Catalog with many different functions | * Catalog with many different functions. | ||
*Evaluates numerical derivatives and integrals, as well as Riemann sums | * Evaluates numerical derivatives and integrals, as well as Riemann sums. | ||
==User guide== | ==User guide== | ||
'''Homescreen''' | '''Homescreen:''' | ||
Note that you must use proper syntax or you will risk getting an incorrect result. This includes using closing parentheses and multiplication signs (*) where necessary. | On the homescreen, you can evaluate expressions, approximate definite integrals, or use a number of built-in functions. After entering an expression, press the "ENT" key or A to evaluate it. | ||
Note that you must use proper syntax or you will risk getting an incorrect result. This includes using closing parentheses and multiplication signs (* ) where necessary. | |||
Currently, trig functions along with addition/subtraction, multiplication/division, and exponents and special built-in functions can be evaluated. | Currently, trig functions along with addition/subtraction, multiplication/division, and exponents and special built-in functions can be evaluated. | ||
'''Graphing''' | '''Graphing:''' | ||
With graphDS, you can graph up to four functions simultaneously. From the homescreen, tap the "GPH" key on the touchscreen. Using the keyboard, enter a function. Press "CLR" to erase a function and use the D-Pad to move the cursor. | |||
When you are finished entering functions, press the "ENT" key, then press "GPH" again to graph the functions. To switch graphing modes, press the "Mode" key. To adjust the graphing window, press "WIN". | When you are finished entering functions, press the "ENT" key, then press "GPH" again to graph the functions. To switch graphing modes, press the "Mode" key. To adjust the graphing window, press "WIN". | ||
Line 35: | Line 39: | ||
You can then adjust the xMin, xMax, yMin, yMax, and parametric and polar graphing parameters (depending on what graph mode you are in). When finished editing the window information, press "GPH" to return to the function input. | You can then adjust the xMin, xMax, yMin, yMax, and parametric and polar graphing parameters (depending on what graph mode you are in). When finished editing the window information, press "GPH" to return to the function input. | ||
'''Tracing''' | '''Tracing:''' | ||
After you have graphed a function, you can trace it to see the numerical relationship between x, y, and t or theta values (if applicable). From the graphscreen, press the "TRC" key on the touchscreen to begin tracing. On the top screen, a red cursor will be displayed. | |||
To move the cursor, press the left and right buttons on the D-Pad. On the touchscreen, the values of relevant variables will be displayed. | To move the cursor, press the left and right buttons on the D-Pad. On the touchscreen, the values of relevant variables will be displayed. | ||
Line 43: | Line 49: | ||
You can also access a limited number of catalog functions while inputting a tracing expression by touching the "CLG" key on the touchscreen. | You can also access a limited number of catalog functions while inputting a tracing expression by touching the "CLG" key on the touchscreen. | ||
'''Using built-in functions''' | '''Using built-in functions:''' | ||
graphDS features a number of built-in functions, which are accessible through the catalog. Functions can be nested inside one another as long as the data type returned by the inner function is a valid input for the outer function. | |||
For example, if a function is used as an argument for the function crossP (cross product), then that function must return a vector. Also be careful to use closing parentheses correctly. | For example, if a function is used as an argument for the function crossP (cross product), then that function must return a vector. Also be careful to use closing parentheses correctly. | ||
'''Using the CAS''' | '''Using the CAS:''' | ||
To use the CAS (computer algebra system), simply enter an algebraic expression on the homescreen and graphDS will simplify it. Currently, the CAS is compatible with parentheses, foiling, exponents, and distribution, along with standard operators. | |||
It is not compatible with trigonometric, logarithmic, or built-in catalog functions. For now, users should avoid division and algebraic expressions within exponents. | It is not compatible with trigonometric, logarithmic, or built-in catalog functions. For now, users should avoid division and algebraic expressions within exponents. | ||
It is also imperative to use proper syntax; implied multiplication (i.e. 3X or 3(X+2) ) is not supported. For multiplication, you must use the * operator (i.e. 3*X or 3*(X+2) ). | It is also imperative to use proper syntax; implied multiplication (i.e. 3X or 3(X+2) ) is not supported. For multiplication, you must use the * operator (i.e. 3* X or 3* (X+2) ). | ||
==Controls== | ==Controls== | ||
Line 67: | Line 77: | ||
==Changelog== | ==Changelog== | ||
'''v0.9.1 | '''v0.9.1 1/28/09''' | ||
*Resized the graphing window. Fixed graphing bugs for all graph modes. | * Resized the graphing window. Fixed graphing bugs for all graph modes. | ||
'''v0.9 | '''v0.9 1/13/09''' | ||
*Added nesting compatibility for most catalog functions. | * Added nesting compatibility for most catalog functions. | ||
*Added tracing for inverse functions. | * Added tracing for inverse functions. | ||
*Added vector data type. | * Added vector data type. | ||
*Added catalog functions: crossP, dotP, vectDef, vectLength. | * Added catalog functions: crossP, dotP, vectDef, vectLength. | ||
'''v0.8b''' | '''v0.8b''' | ||
*Greatly improved the homescreen, adding horizontal and vertical scrolling, copy/paste, etc. | * Greatly improved the homescreen, adding horizontal and vertical scrolling, copy/paste, etc. | ||
*Added new graph mode: inverse functions. | * Added new graph mode: inverse functions. | ||
*Added MAPM, an arbitrary precision library for greater accuracy. | * Added MAPM, an arbitrary precision library for greater accuracy. | ||
'''v0.8''' | '''v0.8''' | ||
*Made slopefield and Euler's method graphing modes accessible to user. | * Made slopefield and Euler's method graphing modes accessible to user. | ||
*Added a simple CAS. | * Added a simple CAS. | ||
*Increased calculation and graphing speed by about 2.5x. | * Increased calculation and graphing speed by about 2.5x. | ||
*Made function nIntegrate faster and more accurate. | * Made function nIntegrate faster and more accurate. | ||
*Added functions: euler, monteCarlo, simpson, trapezoid. | * Added functions: euler, monteCarlo, simpson, trapezoid. | ||
'''v0.7''' | '''v0.7''' | ||
*Added tracing for Cartesian, parametric, and polar functions (including cursor movement controlled by D-Pad and input for a specific variable value). | * Added tracing for Cartesian, parametric, and polar functions (including cursor movement controlled by D-Pad and input for a specific variable value). | ||
*Increased speed of polar graphing by about 2x. | * Increased speed of polar graphing by about 2x. | ||
*Catalog now continues to scroll when Up or Down is held. | * Catalog now continues to scroll when Up or Down is held. | ||
'''v0.6''' | '''v0.6''' | ||
*Added cursor to homescreen. | * Added cursor to homescreen. | ||
*Added functions: ceiling, floor, median, sum. | * Added functions: ceiling, floor, median, sum. | ||
*Added some syntax checking on homescreen. | * Added some syntax checking on homescreen. | ||
*Made some catalog functions available for graphing. | * Made some catalog functions available for graphing. | ||
*Changed the font. | * Changed the font. | ||
'''v0.5''' | '''v0.5''' | ||
*Added catalog. Added functions: abs, acs, asn, atn, mean, nDeriv, nIntegrate, rand. | * Added catalog. Added functions: abs, acs, asn, atn, mean, nDeriv, nIntegrate, rand. | ||
'''v0.4''' | '''v0.4''' | ||
*Added editor for window & graphing parameters. | * Added editor for window & graphing parameters. | ||
*Added slopefield and Euler's method (currently inaccessible to the user). | * Added slopefield and Euler's method (currently inaccessible to the user). | ||
*Fixed bugs in graph input. | * Fixed bugs in graph input. | ||
*Changed graphscreen keyboard. | * Changed graphscreen keyboard. | ||
*Added compatibility with log and ln functions. | * Added compatibility with log and ln functions. | ||
'''v0.3''' | '''v0.3''' | ||
*Added parametric and polar graphing. | * Added parametric and polar graphing. | ||
'''v0.2''' | '''v0.2''' | ||
*Added simultaneous graphing of up to four Cartesian functions. | * Added simultaneous graphing of up to four Cartesian functions. | ||
*Combined function screen with graphscreen. | * Combined function screen with graphscreen. | ||
*Added cursor to improve function input. | * Added cursor to improve function input. | ||
'''v0.1''' | '''v0.1''' | ||
*Added an easier-to-use keyboard on the touchscreen and graphing for one Cartesian function. | * Added an easier-to-use keyboard on the touchscreen and graphing for one Cartesian function. | ||
'''v0.02''' | '''v0.02''' | ||
*Added compatibility with Riemann sums. | * Added compatibility with Riemann sums. | ||
'''v0.01''' | '''v0.01''' | ||
*Initial release. Released in the forums at palib.info on February 25, 2008. Later released at http://robertson.heliohost.org. | * Initial release. Released in the forums at palib.info on February 25, 2008. Later released at http://robertson.heliohost.org. | ||
==Credits== | ==Credits== | ||
Special Thanks To: | Special Thanks To: | ||
Nick Stone for | * Nick Stone for the help of writing class expression. | ||
* Mrs. Smirl for the inspiration and for being a great calculus teacher. | |||
Mrs. Smirl for the inspiration and for being | * Mollusk and everyone at PAlib for writing a great library and other resources. | ||
* Everyone who has offered support in the PAlib forums. | |||
Mollusk and everyone at PAlib for writing a great library and other resources | * Everyone at devkitPro. | ||
* Micheal Ring for his arbitrary precision library, MAPM. | |||
Everyone who has offered support in the PAlib forums | |||
Everyone at devkitPro | |||
<br> | |||
[[Category: | [[Category:DS homebrew applications]] | ||
[[Category:Maths homebrews on DS]] |
Revision as of 14:44, 21 Mayıs 2021
GraphDS | |
File:Graphds09.png | |
General | |
---|---|
Author(s) | Morgan Robertson |
Type | Mathematics |
Version | 0.9.1 |
Licence | Mixed |
Links | |
[Media:GraphDS091.zip Download] | |
Website |
<htmlet>adsense</htmlet>
graphDS is a graphing calculator application designed for the Nintendo DS. The program is capable of evaluating mathematical expressions and built-in functions as well as simultaneously graphing up to four Cartesian,inverse, parametric, or polar functions.
graphDS v0.8b was submitted to the NEO Summer Coding Compo 2008 and ranked 9th.
Features
- Evaluates mathematical expressions... including those with exponents, trig, and logarithmic functions.
- Includes a CAS to simplify algebraic expressions, including foiling.
- Graphs regular, inverse, parametric, and polar equations, as well as slope fields and Euler's method.
- Catalog with many different functions.
- Evaluates numerical derivatives and integrals, as well as Riemann sums.
User guide
Homescreen:
On the homescreen, you can evaluate expressions, approximate definite integrals, or use a number of built-in functions. After entering an expression, press the "ENT" key or A to evaluate it.
Note that you must use proper syntax or you will risk getting an incorrect result. This includes using closing parentheses and multiplication signs (* ) where necessary.
Currently, trig functions along with addition/subtraction, multiplication/division, and exponents and special built-in functions can be evaluated.
Graphing:
With graphDS, you can graph up to four functions simultaneously. From the homescreen, tap the "GPH" key on the touchscreen. Using the keyboard, enter a function. Press "CLR" to erase a function and use the D-Pad to move the cursor.
When you are finished entering functions, press the "ENT" key, then press "GPH" again to graph the functions. To switch graphing modes, press the "Mode" key. To adjust the graphing window, press "WIN".
You can then adjust the xMin, xMax, yMin, yMax, and parametric and polar graphing parameters (depending on what graph mode you are in). When finished editing the window information, press "GPH" to return to the function input.
Tracing:
After you have graphed a function, you can trace it to see the numerical relationship between x, y, and t or theta values (if applicable). From the graphscreen, press the "TRC" key on the touchscreen to begin tracing. On the top screen, a red cursor will be displayed.
To move the cursor, press the left and right buttons on the D-Pad. On the touchscreen, the values of relevant variables will be displayed.
To set a specific value for x, t, or theta (depending on the graph mode), touch the touchscreen with the stylus and input a valid numerical expression. After you press "ENT" or the A button, the cursor will jump to the proper point on the function.
You can also access a limited number of catalog functions while inputting a tracing expression by touching the "CLG" key on the touchscreen.
Using built-in functions:
graphDS features a number of built-in functions, which are accessible through the catalog. Functions can be nested inside one another as long as the data type returned by the inner function is a valid input for the outer function.
For example, if a function is used as an argument for the function crossP (cross product), then that function must return a vector. Also be careful to use closing parentheses correctly.
Using the CAS:
To use the CAS (computer algebra system), simply enter an algebraic expression on the homescreen and graphDS will simplify it. Currently, the CAS is compatible with parentheses, foiling, exponents, and distribution, along with standard operators.
It is not compatible with trigonometric, logarithmic, or built-in catalog functions. For now, users should avoid division and algebraic expressions within exponents.
It is also imperative to use proper syntax; implied multiplication (i.e. 3X or 3(X+2) ) is not supported. For multiplication, you must use the * operator (i.e. 3* X or 3* (X+2) ).
Controls
Touchscreen - Enter expressions, equations, etc. via the keyboard
D-Pad - Move cursor
A - Confirm an entry
B - Go back
X - Copy
Y - Paste
Changelog
v0.9.1 1/28/09
- Resized the graphing window. Fixed graphing bugs for all graph modes.
v0.9 1/13/09
- Added nesting compatibility for most catalog functions.
- Added tracing for inverse functions.
- Added vector data type.
- Added catalog functions: crossP, dotP, vectDef, vectLength.
v0.8b
- Greatly improved the homescreen, adding horizontal and vertical scrolling, copy/paste, etc.
- Added new graph mode: inverse functions.
- Added MAPM, an arbitrary precision library for greater accuracy.
v0.8
- Made slopefield and Euler's method graphing modes accessible to user.
- Added a simple CAS.
- Increased calculation and graphing speed by about 2.5x.
- Made function nIntegrate faster and more accurate.
- Added functions: euler, monteCarlo, simpson, trapezoid.
v0.7
- Added tracing for Cartesian, parametric, and polar functions (including cursor movement controlled by D-Pad and input for a specific variable value).
- Increased speed of polar graphing by about 2x.
- Catalog now continues to scroll when Up or Down is held.
v0.6
- Added cursor to homescreen.
- Added functions: ceiling, floor, median, sum.
- Added some syntax checking on homescreen.
- Made some catalog functions available for graphing.
- Changed the font.
v0.5
- Added catalog. Added functions: abs, acs, asn, atn, mean, nDeriv, nIntegrate, rand.
v0.4
- Added editor for window & graphing parameters.
- Added slopefield and Euler's method (currently inaccessible to the user).
- Fixed bugs in graph input.
- Changed graphscreen keyboard.
- Added compatibility with log and ln functions.
v0.3
- Added parametric and polar graphing.
v0.2
- Added simultaneous graphing of up to four Cartesian functions.
- Combined function screen with graphscreen.
- Added cursor to improve function input.
v0.1
- Added an easier-to-use keyboard on the touchscreen and graphing for one Cartesian function.
v0.02
- Added compatibility with Riemann sums.
v0.01
- Initial release. Released in the forums at palib.info on February 25, 2008. Later released at http://robertson.heliohost.org.
Credits
Special Thanks To:
- Nick Stone for the help of writing class expression.
- Mrs. Smirl for the inspiration and for being a great calculus teacher.
- Mollusk and everyone at PAlib for writing a great library and other resources.
- Everyone who has offered support in the PAlib forums.
- Everyone at devkitPro.
- Micheal Ring for his arbitrary precision library, MAPM.