Bug fix : DEplot and DEplot3d with coords

The coords option, which allows the use of non-Cartesian coordinate systems in many other plotting commands, does not work with DEplot or DEplot3d . In DEplot it causes an error message. In DEplot3d there is no error message, but the plot is done in Cartesian coordinates.

> with(DEtools):
DEplot({diff(r(t),t)=-sin(theta(t))/2, diff(theta(t),t)=1/2},
[r(t),theta(t)], t=0..Pi,
[[r(0)=1,theta(0)=0]], coords=polar);

Error, (in plot/options2d) unknown or bad argument, coords = polar

> DEplot3d({diff(r(t),t)=-sin(theta(t))/2, diff(theta(t),t)=1/2},
[r(t),theta(t)], t=0..2*Pi,
[[r(0)=1,theta(0)=0]], scene=[r,theta,t],
coords=cylindrical);

A work-around is to produce the plot using rectangular coordinates, and change to polar coordinates using the changecoords command from the plots package.

> plots[changecoords](
DEplot({diff(r(t),t)=-sin(theta(t))/2, diff(theta(t),t)=1/2}, [r(t),theta(t)], t=0..Pi, [[r(0)=1,theta(0)=0]], scaling=constrained), polar);

In the three-dimensional case, because of another bug, you must substitute CURVES for CURVELIST before doing this.

> plots[changecoords](subs(CURVELIST=CURVES,
DEplot3d({diff(r(t),t)=-sin(theta(t))/2, diff(theta(t),t)=1/2},
[r(t),theta(t)], t=0..2*Pi,
[[r(0)=1,theta(0)=0]], scene=[r,theta,t])),
cylindrical);