##### How to use
Enter the function f (x,y) for x' in the text input field marked "x'=f(x,y)=".

Example: x'=y

Enter the function g(x,y) for y' in the text input field marked "y'=g(x,y)=".

Example: y'= -x

Click the "Graph" button (this button also refreshes the graph).

The initial value point (x0,y0) can be chosen in either of two ways:

• Enter the values directly into the text input fields marked "x0=" and "y0=".
• Click and drag the red point on the graph with the mouse.
Example: (x0,y0)=(1,0)

To erase the graph and the text input fields for f (x,y) and g(x,y), and set x0, y0, and tmax to default values, click the "Clear" button (this also sets the fields in the "Field" window to default values).

##### Examples
Circles: x'=y, y'= -x, (x0,y0)=(1,0), tmax=6.28

Predator-Prey Model: x'=x(1-y), y'=y(x-1), (x0,y0)=(3,1), tmax=5

##### Other Notes
The graph shows the vector field in the plane given by the vector-valued function F (x,y)=<f (x,y),g(x,y)> and flow curves given parametrically as (x(t),y(t)) from initial point (x0,y0) associated with the value t=0. The flow curve is graphed in blue, starting from the given initial point (associated with t=0) and continuing to the t value given by tmaxd. The vectors <f (x,y),g(x,y)> associated with various points on the plane are shown in green.

This is equivalent to graphing a phase portrait and solution curve for the system of differential equations x'=f (x,y) and y'=g(x,y), derivatives with respect to t, having solutions of the form x(t) and y(t) with initial values given by x(0)=x0 and y(0)=y0.

The particular solution curve (x(t),y(t)) is graphed by determining a numerical approximation to the curve using the classical (order four) Runge-Kutta Method.

An anomaly of Java graphics may cause a curve which overlaps itself to leave a "trail" during the click-and-drag action. For example, in the above example where solution curves are circles, if tmax=10.0, the trail will appear in the overdrawn part of the curve, associated with t values greater than 2. Eventually the applet's graphics will catch up with the mouse action and erase the trail. This anomaly could not be improved without seriously degrading performance during the click-and-drag action.