implicit_plot.mws

Graficos con implicitplot

>    restart;with(plots):

Warning, the name changecoords has been redefined

>    ed:=diff(y(x),x)=(y(x)+1)^2/y(x);

ed := diff(y(x),x) = (y(x)+1)^2/y(x)

Buscamos la solución con el comando "dsolve"

>    dsolve(ed,y(x));

y(x) = exp(LambertW(-exp(-x-_C1))+x+_C1)-1

Es una solución explícita pero escrita como una función de Lambert W. Escriba el siguiente comando para obtener mayor información

  > ?LambertW

Se puede pedir una solución  implícita

>    sol:=dsolve(ed,y(x),implicit);

sol := x-ln(y(x)+1)-1/(y(x)+1)+_C1 = 0

Tenemos una familia 1-paramétrica de soluciones de la ecuación diferencial.

En lo que sigue le cambiaremos el nombre a la constante " _C1 " por un nombre nuevo, ahora se llamará C

>    fs:=subs(_C1=C,sol);

fs := x-ln(y(x)+1)-1/(y(x)+1)+C = 0

Si se elige un valor para el parámetro C, podemos hacer una representación grafica para esta solución particular

>    C:=1;

C := 1

>    implicitplot(fs,x=-1..4,y=-1..2);

[Maple Plot]

Si se quiere ver varias  de las soluciones particulares al mismo tiempo se puede hacer lo siguiente.

Primero se limpia el parametro C porque anteriormente le dimos el valor de 1, esto se hace escribiendo:

>    C:='C';

C := 'C'

>    f_curvas:=fs;

f_curvas := x-ln(y(x)+1)-1/(y(x)+1)+C = 0

Es necesario evaluar   f_curvas  para los diferentes valor del parámetro.  En este ejemplo se variara el parámetro desde 0  hasta 2  con pasos de 0.4 .

>    xi:=0.4: eta:=trunc(C/xi):

>    for C from 0 by xi to 2 do

>    p[eta]:=f_curvas;

>    od:

Se construye una lista con el comando "seq"

>    L:=seq([p[eta]],eta=0..5);

L := [x-ln(y(x)+1)-1/(y(x)+1) = 0], [x-ln(y(x)+1)-1/(y(x)+1)+.4 = 0], [x-ln(y(x)+1)-1/(y(x)+1)+.8 = 0], [x-ln(y(x)+1)-1/(y(x)+1)+1.2 = 0], [x-ln(y(x)+1)-1/(y(x)+1)+1.6 = 0], [x-ln(y(x)+1)-1/(y(x)+1)+2....
L := [x-ln(y(x)+1)-1/(y(x)+1) = 0], [x-ln(y(x)+1)-1/(y(x)+1)+.4 = 0], [x-ln(y(x)+1)-1/(y(x)+1)+.8 = 0], [x-ln(y(x)+1)-1/(y(x)+1)+1.2 = 0], [x-ln(y(x)+1)-1/(y(x)+1)+1.6 = 0], [x-ln(y(x)+1)-1/(y(x)+1)+2....

Una vez con la lista construida ya se puede hacer la grafica

>    implicitplot([L],x=-1..4,y=-1..2,color=[green,black,blue,red,coral,cyan],legend=["C=0","C=0.4","C=0.8","C=1.2","C=1.6","C=2.0"]);

[Maple Plot]

FIN.

>   

>