domingo, 12 de marzo de 2017

Representación gráfica de familia de funciones con wxMaxima

Las últimas semanas he estado utilizando wxMaxima para comprobar la solución de EDOs de primer orden.

Ejemplo:

yg:ode2(x*'diff(y,x)+2*y+x^5*y^3*exp(x)=0,y,x);

Como puede observarse, este tipo de ecuaciones tienen por solución general una familia de funciones.

Podemos dar un valor concreto a la constante %c y representar la función resultante, pero con wxMaxima podemos representar varias funciones de una familia.

Para ello creamos una lista (con makelist) en la que damos valores a la constante, pero antes debemos sustituir la constante por un parámetro (con subst) que diremos que varíe.

listaf:makelist(rhs(subst(%c=i,yg)),i,-100,100);

El comando rhs se utiliza para quedarnos sólo con la parte derecha de la función, dado que ahora utilizamos plot2d para representar gráficamente la lista de funciones creadas.

plot2d(listaf,[x,-5,5],[y,-1,5],[legend,""],[style,[lines,2]]);

Y el resultado es el siguiente:
Representación gráfica de una familia de funciones