Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

GraphDS: Difference between revisions

From GameBrew
(Created page with "{{Infobox homebrew | title = GraphDS | image = File:Graphds09.png | type = Mathematics | version = 0.9.1 | licence = Mixed | author = Morgan R...")
 
m (Text replacement - "|download=https://dlhb.gamebrew.org/dshomebrew/" to "|download=https://dlhb.gamebrew.org/dshomebrew2/")
 
(17 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Infobox homebrew
{{Infobox DS Homebrews
| title       = GraphDS
|title=GraphDS
| image       = [[File:Graphds09.png]]
|image=graphds.png
| type       = Mathematics
|description=Graphing calculator application.
| version     = 0.9.1
|author=Morgan Robertson
| licence    = Mixed
|lastupdated=2009/01/28
| author      = Morgan Robertson
|type=Math
| website    = http://www.neoflash.com/forum/index.php?topic=5278.0
|version=0.9.1
| download    = Media:GraphDS091.zip
|license=Mixed
| source      =
|download=https://dlhb.gamebrew.org/dshomebrew2/graphds.7z
|website=http://robertson.heliohost.org
}}
}}
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 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  
graphDS was submitted to the NDS Homebrew Bounty and the NEO Summer Coding Compo 2008 (NDS App).


==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''' - 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.
===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.


'''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).  


'''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.
From the graphscreen, press the "TRC" key on the touchscreen to begin tracing. On the top screen, a red cursor will be displayed.  


'''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.
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.  


'''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) ).
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.
 
===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.
 
===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==
==Controls==
Line 47: Line 90:


==Changelog==
==Changelog==
'''v0.9.1 (Released 1/28/09)'''
'''v0.9.1 2009/01/28'''
*Resized the graphing window. Fixed graphing bugs for all graph modes.
* Resized the graphing window. Fixed graphing bugs for all graph modes.
'''v0.9 (Released 1/13/09)'''
'''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 helping me write class expression
* 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 such 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.
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
==External links==
* Author's website - http://robertson.heliohost.org


Micheal Ring for his arbitrary precision library, MAPM
[[Category:GBAtemp Homebrew Bounty 2008]]
[[Category:Homebrew applications]]
[[Category:NEO Summer Coding Compo 2008]]

Latest revision as of 05:20, 16 August 2024

GraphDS
Graphds.png
General
AuthorMorgan Robertson
TypeMath
Version0.9.1
LicenseMixed
Last Updated2009/01/28
Links
Download
Website

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 was submitted to the NDS Homebrew Bounty and the NEO Summer Coding Compo 2008 (NDS App).

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.

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.

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 2009/01/28

  • 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

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.

External links

Advertising: