Question: how to plot with DEplot and odeplot in the polar coordinate?

May 01 2012 ZhuWeihong 20
Maple
1

today, i stuty a differential equation,  firsy, i conver the equation from cartesian to polar as  follow:

restart: 

sys := diff(x(t), t) = -y(t)+x(t)*(1-2*x(t)^2-3*y(t)^2), diff(y(t), t) = x(t)+y(t)*(1-2*x(t)^2-3*y(t)^2):

then  using transformation x=r*cos(theta),y=r*sin(theta) convert it to polar coordinate,and get:

sys1:=diff(r(t), t) = r(t)*(1-2*r(t)^2-r(t)^2*sin(theta(t))^2), diff(theta(t), t) = 1

then  plot the phase portrait, i use to method ,but all of them failed:

first ,use DEplot

  with(DEtools): 

 DEplot(sys1, [theta(t), r(t)], t = 0 .. 10, [[theta(0) = 2, r(0) = 2]], coords = polar);

and get error:
Error, (in DEtools/DEplot) can only plot in cartesian co-ordinates, got invalid option coords = polar

second,use odeplot

   with(plots):

> q1 := dsolve([diff(r(t), t) = r(t)*(1-2*r(t)^2-r(t)^2*sin(theta(t))^2), diff(theta(t), t) = 1, theta(0) = Pi, r(0) = 2], numeric, [theta(t), r(t)]);

> with(plots);

> odeplot(q1, [r(t), theta(t)], t = 0 .. 1, numpoints = 500, axiscoordinates = polar, coords = polar);

and also get a wrong result, so how to plot the phase portrait in polar coordinate using DEplot or odeplot

 

Please Wait...