F r e e g r a p h   P a g e

@ Hunter-Lovell.org
[ Updated: September 2, 2003 ]
  Freegraph Table of Contents

Freegraph Function Grapher

Freegraph Expression Parser

Freegraph Equation Solver

What is Freegraph?

Freegraph Source



Contributors:
Aaron Patzer, ELE, Princeton University
Martin Lovell

Improvements, extensions, and bug fixes are encouraged and welcome. Please email them. New applets and applications using the library are very helpful for others and will be posted here if you provide them.

Maintained by:
Martin Lovell



Some old windows executables:
click here


 
 

Top
  What is Freegraph?

Overview: Freegraph is a Java applet which will graph equations of the form y=???, where ??? is an expression with the variable X. (For instance, y=5x+3/x)
There is also an equation solver and expression parsing applet to go along with the grapher.

Features: Features of Freegraph include zooming with the mouse, graphing multiple equations, and free-form expression parsing without the need for explicit multiplication signs.

For Developers: Freegraph is a package of Java classes for parsing and evaluating expressions. Freegraph is Java 1.1 compatible for use in applets without the Java plugin. Freegraph also includes an Equation Solver, Expression Parser, and a Graphing Applet. Source code is available and free for any use (including commercial). We will officially provide an Apache or BSD style license soon.

Improvements, extensions, and bug fixes are encouraged and welcome. Please email them.

The project is helped by having more applets and applications which use the library. If you build an applet or application, it would be helpful to provide it so that it can be posted on this web page.

Click here for source.

 

Top

  Complete Freegraph Source Code and Documentation


 
 

Top

  Freegraph Grapher




Your browser is not able to run Java applets.

Press the "Start Grapher" button:

  Help
  Instructions for Grapher:

To Start, press the Start Grapher button.

To Graph, enter a function and press the [Add] button. (Enter the function just to the right of the Add button.)

To zoom in, draw a box on the graph area with the mouse. (Left click and drag.)

To zoom out or reset axis, use the buttons at the top or invoke a popup-menu on the graph area.

Example Functions:
5x+3
5/x
x^2sqrt(x)5sinx(-5xsin(4-x))/(3-x)

To remove a function from the list, select it and press [Remove].

To clear all functions, press [Clear]

Back to Grapher
 

Top

  Expression Parser

(Your browser does not support Java)

Help
  Instructions for Expression Parser:

Purpose:
The expression parser will convert an infix expression into a RPN (a.k.a. postfix) expression stack. For more information on RPN, click here.


To use the applet:
Enter a function into the text field.
Press the "Convert" button and the RPN stack will be displayed as a list.

The algorithm used is from: Tanenbaum, Andrew S. 1990. Structured Computer Organization, 3rd ed., New Jersey: Prentice Hall. (pp. 268-272)

Back to Parser
 

Top

  Equation Solver



Help
  Instructions for Equation Solver:
Type in an equation and press solve, press ... for advanced solving options.

The Applet uses Bisection and Newton's equation solving techniques.

The advanced options allow you to set the range for the bisection technique, and the starting X value for Newton's technique. The repeat check boxes cause the techniques to be re-tried with different parameters to search for a solution.

Links with more information on: Bisection and Newton's Method

Examples:
5x=25
3(x+2)=18
21/x=7


Back to Solver