Plotting Vector Fields with Maple

1. Two-dimensional vector fields . Maple has commands to plot general two-dimensional vector fields, as well as gradient fields. The basic command is

fieldplot( [f (x, y), g(x,y)], x = a..b, z = c..d ) ;

To use it, the
plots library must be loaded. The following routine illustrates fieldplot for the vector field F in Exercise 4, Section 17.1, of James Stewart, Calculus, 4th Edition, ITP Brooks/Cole, 1999: F(x, y) = i + 2 y j .

> with (plots):
fieldplot( [-x, 2*y], x = -4..4, y = -4..4);

The arrows look a bit
too thin (the default option in the fieldplot command is thin ), so try the following slightly altered version. You can also experiment with the other options: slim and thick .

> with (plots):
fieldplot( [-x, 2*y], x = -4..4, y = -4..4, arrows = medium);

Maple's
gradplot command, which also requires loading the plots library, makes quick work of a problem that asks for a plot of the gradient of a scalar function of two variables. The syntax of the gradplot command is

gradplot( [f (x, y), g(x,y)], x = a..b, z = c..d ) ;

The next routine illustrates this by plotting the gradient of the scalar function
f with formula .

> with (plots):
gradplot( sqrt(x^2 + y^2), x = -3..3, y = -3..3, arrows = medium, color = sqrt(x^2 + y^2) );

2. Three-dimensional vector fields. Maple plots three-dimensional vector fields via its fieldplot3d and gradplot3d commands, whose syntax is nearly identical to that for the corresponding two-dimensional commands illustrated above. The next routine plots the vector field F of three variables with formula F ( x , y , z ) = < >, and displays it with coordinate axes. (Note: Although Maple's documentation indicates that only the option arrows = medium is not available for three-dimensional field plots, on the Macintosh any arrow or color options seem to generate error messages in Version 6.0.1).)

> with(plots):
deft := fieldplot3d( [x^2, x*y, z^2],x =-1..1,y =-1..1, z = -1..2):
xaxis := spacecurve([t, 0, 0, t = -1..1.5, color = magenta]) :
yaxis := spacecurve([0, t, 0, t = -1..1.5, color = magenta]) :
zaxis := spacecurve([0, 0, t, t = -1..2.5, color = magenta]) :
labx := textplot3d([1.6, 0, -.2, `x`], color = magenta):
laby := textplot3d([0,1.6, -.2, `y`], color = magenta):
labz := textplot3d([0, 0, 2.6, `z`], color = magenta):
display (deft, xaxis, yaxis, zaxis, labx, laby, labz, axes = boxed);

The last routine illustrates the