Cargo el programa plodf que me permite hacer los diagramas de fase.

load("plotdf")$

Sistema con dos raices reales distintas. 
dx/dt=m*x; 
dy/dt=n*y;

H(x,y,m,n):=[m*x,n*y]$

Caso n/m>1, por ejemplo

plotdf(H(x,y,1,2));

Caso 0<n/m<1, por ejemplo

plotdf(H(x,y,2,1));

Caso n/m<0, por ejemplo

plotdf(H(x,y,-2,1));

Ejemplo, primero cargo las ecuaciones

e1:'diff(x(t),t)=x(t)+y(t);

e2:'diff(y(t),t)=4*x(t)-2*y(t);

Uso el programa desdolve para resolver

desolve ([e1,e2], [x(t),y(t)]);

Grafico el digrama de faces.

plotdf([x+y,4*x-2*y]);

Sistema con dos raices complejas. 
dx/dt=a*x-b*y; 
dy/dt=bx+a*y;

C(x,y,a,b):=[a*x-b*y,b*x+a*y]$

Caso a=0, ejemplo

plotdf(C(x,y,0,1/2));

Caso a,b>0 o a,b<0, ejemplos

plotdf(C(x,y,1,3));

plotdf(C(x,y,-1,-3));

Caso a,b con distintos signos, ejemplos

plotdf(C(x,y,-1,3));

plotdf(C(x,y,1,-3));

Ejemplo, cargo las ecuaciones

e3: 'diff(x(t),t)=x(t)-5*y(t);

e4: 'diff(y(t),t)=x(t)-y(t);

Resuelvo

desolve ([e3,e4], [x(t),y(t)]);

Grafico

plotdf([x-5*y,x-y]);

Sistema con una raiz real. Caso 1
dx/dt=l*x; 
dy/dt=l*y;
Ejemplo

plotdf([2*x,2*y]);

Caso 2
dx/dt=l*x+y; 
dy/dt=l*y;
Ejemplo

plotdf([x+y,y]);

Ejemplo, cargo las ecuaciones

e5:'diff(x(t),t)=3*x(t)-4*y(t);

e6:'diff(y(t),t)=x(t)-y(t);

Resulevo

desolve ([e5,e6], [x(t),y(t)]);

Grafico

plotdf([3*x-4*y,x-y]);