Graph and interact with your Math formulas!

Math Graphing XL is a powerful & unique 1D graphing calculator to graph mathematical expressions of arbitrary complexity. Math Graphing XL can help students improve their math skills by developing some visual intuition of mathematical expressions or advanced users who need some scientific capabilities only available with desktop software like Matlab or Mathematica. For the iPhone & iPod touch version: check out "Math Graphing" here.

Math Graphing XL provides the following functionalities:

• Multiple expressions with quasi-unlimited number of variables can be combined to produce simple or complex formulas,
• Interactive sliders can be created to visually investigate the role of important parameters on the graphical representation of the formulas,
• Trace mode to display coordinates and derivative of marker on selected curve,
• Solver tool to solve y = f(x) where x or y are unknown, or find local/global minima/maxima/extrema (NEW!),
• Formula graphs can be saved to the device's Photos Album, or the formulas be exported through email with embedded graphs,
• A list of favorite formulas can be created for editing or archival purposes,
• Several formulas can be plotted simultaneously in different colors and styles,
• Customizable graph and formula appearance: axes labels, title, curve color and style, ticks number, grid, wallpaper, font, font size, etc.
• Single-precision calculator supporting variables, multiple expressions, and on-the-fly evaluation (NEW!).

Example of mathematical expression:

# Gabor function
x = 0:1:100
sigma = 1:50; freq = 0:0.1; phase = 0:180
u = cos(2*pi*(x-50)*freq+phase*pi/180)
v = e^(-((x-50)^2)/(2*sigma^2))
y = u*v
plot(u,'lr'); plot(v,'lg'); plot(y,'lw')
xlabel('time'); ylabel('amplitude')
title('Gabor')

GET STARTED

After launching this app in portrait mode, you are presented with the single panel that shows the formula in the top part and its graphical representation in the bottom part. When launching the app in landscape mode, an additional panel is presented on the left with the list of favorite formulas. When launching the app for the first time, the favorite list contains 3 examples that illustrate the app computing capabilities. The name of the currently graphed or edited formula always appears in the toolbar above it.

Using Math Graphing XL could not be simpler:

1. To modify the formula, simply touch its mathematical expression to edit it: both standard and custom keyboards are available to provide maximum flexibility. If a syntax error occurs, the background turns red and back to normal once the syntax has been corrected.

2. To visualize the modified formula, dismiss the keyboard by pressing the key. If an error occurred during the expression evaluation (for example Division by zero), an error message displayed above the graph explains the problem.

3. Use standard touch gestures to manipulate the graph: pinch to zoom, drag to move the graph, pinch below the x-axis or on the left of the y-axis to zoom along a single axis. Rotate the device to switch between portrait and landscape modes.

4. Tap and hold to select the closest curve, and move your finger along the x-axis to shift the marker on the curve which coordinates and derivative are displayed above the graph.

• interactive sliders,
• graph settings,
• export to the device Photo Album,
• export through email,
• scale reset along the y-axis.

Interactive Sliders

The interactive sliders allow the control of the values of some variables in the formulas (the ones in the format <varname> = <minvalue>:<maxvalue>, see the Formulas section). To specify a precise value for a given slider, press the variable name and enter a value in the dialog box.

Graph Settings

The graph appearance can be customized in various ways: presence or absence of the ticks grid, linear or log scale along the x- and y-axes, number of ticks along the axes, size of the tick labels, size of the axis labels, title size and line thickness.

Exporting to the Photo Album

An image of the current graph can be saved to the device Photo Album with an optional inset containing the graph formula.

Emailing the Formula(s)

The current formula or all favorites can be sent by email along with a graph preview.

Top Toolbar

The Favorites and Help tools are available from the top toolbar. The Help section provides a description of all available mathematical operators and functions. The Favorites gives access to a list of formulas that you want to keep. To manage your formula favorites in portrait mode, press the Favorites button in the top-lef corner.

Press the left + button above the list of favorites to add a new formula (with some default definition) and provide its name using the dialog box. To remove, rename or reorder any favorite formula, press the Edit button.

SHORT TUTORIAL ON CREATING FORMULAS

With Math Graphing XL, formulas of any complexity can be plotted as function of any variable or parameter. A formula typically consists in expressing the value of a variable y as function of another variable x. For example:

y = f(x)

A formula can also consist of several expressions separated by a semicolon delimiter on the same line or split across several lines. For example, to compute y as function of x through the use of intermediary variables u and v:

u = g(x); v = h(u)
y = f(v)

The formula can be plotted using the plot command:

plot(x,y)

x being the default continuous variable used to plot any other variable along the x-axis of the graph, the formula can be also plotted by simply entering:

plot(y)

However, it is also possible to specify a variable as a discrete range with starting, step and ending values (variable = starting value : step : ending value). For example, to plot a cosine function as function of the discrete variable t between 0 and 100 by step of 5:

t = 0:5:100
y = cos(2*pi*t/20)
plot(t,y)

By default, the x- and y-axes labels are based on the variables used in the first plot command. However, they can be customized using the xlabel and ylabel commands. A title can be also specified using the title command. Make sure to put the labels between apostrophes. For example, add to the above commands:

xlabel('amplitude')
ylabel('time')
title('Cosine Function')

To customize the appearance of a plot, add tags between apostrophes. For example, to plot y = f(x) as red empty circle symbols:

plot(t,y,'srec')

The tag may consist of 4 letters: <type> <color> <filling> <symbol>

• the 1st letter for the curve type ('l' for line, 's' for symbols, 'b' for bars),
• the 2nd letter for the curve color ('w' for white, 'r' for red, 'g' for green, 'b' for blue),
• the 3rd letter for the symbols or bars appearance ('e' for empty, 'f' for filled),
• the 4th letter for the symbols shape ('c' for circle, 's' for square).

In addition of variables, it is also possible to specify parameters that affect how the formula depends on variables. For example:

wavelength = 20
t = 0:1:100
y = cos(2*pi*t/wavelength)
plot(t,y,'l')

To visualize the effect of such parameters on the plotted formula, the parameter value can be controlled through an interactive slider by specifying a range with starting and ending values (parameter = starting value : ending value). For example, to create a slider that controls the parameter wavelength between 1 and 50, simply use:

wavelength = 1:50

To visualize the effect of the parameter on the formula, double tap the graph or press the tool in the bottom toolbar to access the interactive slider and change its value. The graphical representation of the formula is then automatically updated with the new parameter value when releasing the slider. To specify a precise value for the slider, press the variable name and enter a value in the dialog box that appears.

RELEASE HISTORY

Version 1.3 (February 28, 2014):
- Compatibility with iOS 7

Version 1.2 (December 14, 2010):
- Compatibility with iOS 4.2
- Fix crash with iOS 4.2 when selecting a custom keyboard
- Video Out support for plotted graph
- Addition of xaxis and yaxis commands
- Support for Undo when editing expressions
- Better handling of partially undefined or infinite function evaluation
- Better handling of syntax errors
- Minor cosmetic improvements
- Various bug fixes

Version 1.1 (May 31, 2010):
- Addition of a single-precision calculator and a solver tool in the bottom toolbar
- Addition of formula settings (font style, size, wallpaper, slider continuous update and keyboard clicks option)
- Addition of min(), max(), mean(), sum(), norm(), unoise(), length(), and randn() vector functions
- Addition of "Enter" and "Space" keys in each custom keyboard
- Various bug fixes

Version 1.0 (March 31, 2010):
- First released version on AppStore