Documentos de Académico
Documentos de Profesional
Documentos de Cultura
con Maxima
341
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
Contenido
Prefacio
Introducción
1. Solución de ED
2. Campos de dirección
6. Transformada de Laplace
8. Series de Fourier
342
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
Prefacio
Existen muchos programas que cumplen los requisitos para enseñar y aprender
ecuaciones diferenciales, entre los más conocidos tenemos: Mathematica, Mathcad,
Maple, Derive y Matlab. Además de una larga lista de software libre que puedan
emplearse, Máxima esta en esta categoría.
343
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
Introducción
En este manual no empleamos Maxima directamente sino un entorno gráfico que utiliza
Maxima como motor para realizar los cálculos. Este entorno es wxMaxima que permite
que las expresiones algebraicas luzcan como tales. En todos los ejemplos utilizamos la
sintaxis de Maxima, en lugar de los menús que ofrece el entorno gráfico (el cual se deja
como ejercicio para que el lector lo explore). wxMaxima se puede descargar de:
https://maxima.sourceforge.io/es/ . Un Manual de referencia muy completo en formato
PDF está disponible en: https://maxima.sourceforge.io/docs/manual/es/maxima.html
ii) Ecuaciones diferenciales de segundo orden del tipo: lineales con coeficientes
constantes, Cauchy-Euler, Bessel, lineales homogéneas con coeficientes no constantes
344
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
La función laplace reconoce las funciones elementales, así como derivadas y primitivas
de estás, también reconoce integrales de convolución. Las relaciones implícitas
establecidas por depends no son reconocidas. Si f depende de x y y , f ( x, y ) debe
aparecer en expr.
Para encontrar desarrollos en serie de Fourier, Maxima ofrece el paquete fourier que
permite calcular los coeficientes y manipular las expresiones. La sintaxis de la función
fourier (f(x),x,p) devuelve una lista con los coeficientes de Fourier de f ( x ) definida en
el intervalo p, p
345
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
Introducción
Es importante tener en cuenta que, en general, las ecuaciones diferenciales no tienen
solución analítica. Existe un número infinito de ED, pero hasta ahora no se han podido
resolverse todas las ecuaciones imaginables. De hecho, muy pocas tienen solución
analítica, En algunos casos empleamos métodos gráficos para hacer un análisis
cualitativo y en otros empleamos métodos numéricos. En un curso básico de ED solo se
estudian métodos de solución de algunos tipos de ecuaciones diferenciales en los que se
utilizan conceptos básicos del cálculo. Resolver una ED significa encontrar una función
definida en algún intervalo tal que satisfaga la ecuación.
diferencial.
ninguna de las variables está expresada en términos de la otra, entonces decimos que la
solución está dada en forma implícita.
346
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
Solución
Empezamos por declarar la función y sustituirla en la ED. La función ratsimp
simplifica la expresión. En este caso un resultado igual a cero significa que
efectivamente la función es solución de la ED, esto se debe a que la ED está igualada a
cero. En la primera línea se escribió $ al final, para que no muestre la salida. La sintaxis
es la siguiente:
a) Declarar la función
(%i1) y(x):=2/(2+x)$
b) Sustituir y simplificar
(%i2) ratsimp(x*diff(y(x),x)+y(x)-y(x)^2);
(%o2) 0
Dado que la ED es igual a cero, xy ' y y 2 0 , por lo tanto el resultado comprueba que
la función es solución.
Otra opción
a) declarar la función, en este caso utilizamos ; para que se muestre la salida
347
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
(%i4) y(x):=2/(2+x);
(%o4) y(x):=2/(2+x)
b) sustituir la función en la ED
(%i7) diff(y(x),x)=(-y(x)+y(x)^2)/x;
(%o7) \-2/(x+2)^2=(4/(x+2)^2\-2/(x+2))/x
c) Simplificamos con la función ratsimp, el símbolo % representa la expresión de
salida más reciente independientemente de que se haya mostrado o no
(%i8) ratsimp(%);
(%o8)
Se observa que la función reduce a la ED a una identidad, por lo tanto es solución. Una
forma más rápida es usando is:
(%i9) is(ratsimp(diff(y(x),x)=(-y(x)+y(x)^2)/x));
(%o9) true
El símbolo true representa el valor lógico “verdadero”
a c e at
Ejemplo 2. Comprobar que la función y (t ) , donde a, b, c son constantes, es
1 b c e at
is(ratsimp(diff(y(t),t)=y(t)*(a-b*y(t))));
348
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
Solución
y(t):=(a*c*%e^(a*t))/(1+b*c*%e^(a*t))$
y(t):=(a*c*%e^(a*t))/(1+b*c*%e^(a*t))$
Para graficar algunas soluciones particulares, podemos hacer un listado con algunos
valores de c y emplear la función plot2d.
sol01:makelist(1+c*\%e^(-x),c,-2,2);
plot2d(sol01,[x,0,5]);
Solución
(%i0) kill(all);
(%o0) done
(%i1) depends(y,x)$
349
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
diff(x^2+y^2=25,x)$
(%i2) solve(%,diff(y,x));
(%o2) ['diff(y,x,1)=\-x/y]
(%i3) ec_1:y*'diff(y,x)+x=0$
(%i4) solve(ec_1,'diff(y,x));
(%o3)
e xy y
Ejemplo 5. Comprobar que e y x 1 es solución implícita de la ED y ' xy
xy
e x
Solución
(%i9) kill(x,y)$
(%i10) depends(y,x)$
(%i17) ec_02:%e^(x*y)+y=x-1;
(ec_02) %e^(x*y)+y=x\-1
(%i18) diff(ec_02,x);
(%o18) %e^(x*y)*(x*('diff(y,x,1))+y)+'diff(y,x,1)=1
(%i19) solve(%,diff(y,x));
(%o19) ['diff(y,x,1)=\-(y*%e^(x*y)\-1)/(x*%e^(x*y)+1)]
(%i24) ec_03:-(y*%e^(x*y)-1)/(x*%e^(x*y)+1)=(%e^(-x*y)-y)/(%e^(-x*y)+x);
(ec_03) (1\-y*%e^(x*y))/(x*%e^(x*y)+1)=(%e^(\-x*y)\-y)/(%e^(\-x*y)+x)
(%i25) ratsimp(%);
350
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
Ejemplo 6
x3
Comprobar que la función y ( x) es solución del siguiente problema de valor inicial
8
3 2/3
y' y , y (0) 0
2
Solución
(%i5) kill(all)$
(%i1) y(x):=(x^3)/8$
(%i3) is(diff(y(x),x)=3/2*y(x)^(2/3));
(%o3) true
También se verifica la condición inicial
(%i4) is(y(0)=0);
(%o4) true
Esta indeterminada en y ( x) 0 , que es la condición inicial. Por lo tanto este PVI tiene
x3
por lo menos dos soluciones: y ( x) y y ( x) 0 .
8
Ejemplo 7
x 2
3
351
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
(%i4) kill(all);
(%o0) done
(%i5) y(x):=(x+2)^3/8$
(%i6) is(diff(y(x),x)=3/2*y(x)^(2/3));
(%o6) true
Además se puede verificar la condición inicial
(%i7) is(y(0)=1);
(%o7) true
Ejercicios
2 xy y 2 x 2 dy 0
3
3. Verificar si la función y x3 sin x c x3 es solución de y ' y x 3 cos x
x
4. Verificar que la función y ( x) e es una solución particular del PVI y ' 2 y 0, y (0) 1
2x
Reporte
352
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
Introducción
1. Dibujar una cuadricula en la región del plano xy , donde nos interesa conocer el
campo de direcciones (campo de pendientes)
2. Evaluar y ' en cada uno de los puntos de la cuadricula. El valor de y ' representa la
pendiente de la recta tangente a la función y que pasa por ese punto.
3. Construir segmentos de recta con las pendientes dadas en cada uno de los puntos.
Con los programas CAS podemos obtener, con facilidad, los campos de pendientes, así
como visualizar las isóclinas. Además podemos graficar familias de curvas solución y
la solución particular de un problema de valor inicial.
353
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
Maxima posee un paquete plotdf, que crea un gráfico del campo de direcciones para
una ecuación diferencial y un sistema de ecuaciones autónomas de primer orden. La
ecuación debe escribirse en forma normal y usar las variables x e y .
Para ver una curva solución o curva integral que pasa por un punto, basta con hacer clic
en ese punto y aparecerá. Hacerlo varias veces nos permite observar una familia de
curvas solución. También se visualizan las isóclinas, están formadas por los vectores
con la misma pendiente. Dado que y ' tan( x) , si seleccionamos x 1 la pendiente es
354
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
Figura 2. Campo de direcciones para y ' tan( x) con dos curvas solución una pasa por
(5, 5) y la otra por (5, 0) aproximadamente.
En el menú de la ventana del gráfico, el botón herramientas se usa para hacer cambios y
ajustes con las opciones gráficas que posee el paquete. Una vez hechos los cambios
pulsar el botón “rehacer” para activarlos. Entre las opciones de gráficos tenemos las
siguientes, no es una descripción completa se deja al lector investigar el resto en el
manual de Maxima.
xfun establece una cadena de funciones que dependen de x , separadas por puntos y
comas, que pueden ser representadas encima del campo de direcciones.
355
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
xcenter es la coordenada x del punto situado en el centro del gráfico, y ycenter es para
la coordenada y .
Solución
(%i1) load("plotdf")$
(%i2) plotdf(x^2+y^2)$
356
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
Solución
(%i1) load("plotdf");
(%i2) plotdf(-(y-1)*(y-3),[trajectory_at,0,1],[ycenter,1],[xradius,4],[yradius,5])$
Veamos un ejemplo donde empleamos la opción sliders para establecer una lista de
parámetros que se cambiaran interactivamente utilizando barras de deslizamiento, así
como los rangos de variación de dichos parámetros. Los nombres de los parámetros y
357
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
sus rangos deben escribirse en formato de cadena de caracteres como una secuencia de
pares nombre=min:max separados por comas. También emplearemos la opción
parameters la cual establece una lista de parámetros, junto con sus valores numéricos,
que son utilizados en la definición de la ecuación diferencial. Los nombres de los
parámetros y sus valores deben escribirse en formato de cadena de caracteres como una
secuencia de pares nombre=valor separados por comas.
Solución
(%i1) load("plotdf");
(%i2) (%i24) plotdf(k*(y-a)*(y-b),[parameters,"k=1"], [sliders,"a=-1:1,b=-2:3"]);
Se solicita al lector ejecutar el programa y mover las barras deslizantes para observar los
cambios en el campo de direcciones de la ecuación diferencial para diferentes valor de
a y b.
358
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
Ejercicios
Reporte
359
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
Introducción
Una ecuación diferencial de la forma y ' f ( x) g ( y ) se conoce como una ED separable
y se resuelve por integración directa. Las ecuaciones diferenciales de la forma
y ' f (ax by c) se reducen a una ED separable al utilizar el cambio de variable
u ax by c de tal modo que u ' a bf (u ) . Una ED de la forma
M ( x, y )dx N ( x, y )dy 0 se denomina ED homogénea de grado n si las funciones
M ( x, y ) y N ( x, y ) son ambas homogéneas del mismo grado. Se dice que la ecuación
diferencial M ( x, y )dx N ( x, y )dy 0 es exacta si la expresión M ( x, y )dx N ( x, y ) dy
es la diferencial total de alguna función de dos variable z f ( x, y ) .
360
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
a) Ecuaciones Separables
Solución
Una forma práctica de resolver ED con Maxima consiste en definir primero la ecuación
y después emplear ode2.
(%i17) kill(all);
(%o0) done
(%i1) ec_1:x*y*(1+y^2)-(1+x^2)*'diff(y,x)=0;
(ec_1) x*y*(y^2+1)\-(x^2+1)*('diff(y,x,1))=0
(%i2) ode2(ec_1,y,x);
(%o2)
361
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
Para resolver un problema de valor inicial de primer orden con Maxima, podemos
indicar la condición inicial mediante el comando ic1, con la sintaxis ic1(
eqn, x x0 , y y0 ), siendo eqn la ecuación proporcionada por ode2 y x0 , y0 las
(%i4) ic1(%o2,x=-1,y=1);
(%o4)
Para simplificar utilizamos la función logcontract, que simplifica log(a) log(b) para
dar log( ab)
(%i5) logcontract(%o4);
(%o5)
(%i6) solve(%o5,y);
(%o6)
x2 1 x2 1
y1 ( x) , y2 ( x )
3 x2 3 x2
(%i9) method;
362
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
(%o9) separable
Lo que indica que ha utilizado el método de separación de variables (el lector puede
comprobar que la ED dada es de variables separable).
dy
e x sec( y ) (1 e x ) sec( y ) tan( y ) 0, y ( x 3)
dx 3
Solución
(%i1) kill(all);
(%o0) done
(%i2) ec_2:exp(x)*sec(y)+((1+exp(x))*sec(y)*tan(y))*'diff(y,x)=0;
(ec_2) (%e^x+1)*sec(y)*tan(y)*('diff(y,x,1))+%e^x*sec(y)=0
(%i3) ode2(ec_2,y,x);
(%i4) ic1(%o3,x=3,y=%pi/3);
(%i5) logcontract(%);
(%o5)
(%i6) solve(sec(y)=(2*%e^3+2)/(exp(x)+1),y);
(%o6)
(%i7) method;
363
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
(%o7) separable
Maxima se puede utilizar para resolver ED paso a paso, como los ejemplos vistos en el
salón de clase. Veamos un ejemplo
dy
Ejemplo 3. Resolver la ecuación diferencial x y 1 paso a paso y comparar el
dx
resultado con el obtenido empleando ode2.
Solución
1 1
Al separar las variables tenemos: dy dx , ahora integramos cada lado de la
1 y x
ecuación, uno con respecto a y , la otra con respecto a x .
(%i1) kill(all);
(%o0) done
(%i10) integrate(1/(1-y),y);
(%o10) -log(1-y)
(%i11) integrate(1/x,x);
(%o11) log(x)
(%i9) solve(integrate(1/(1-y),y)=integrate(1/x,x)+c,y);
(%o9)
(%i7) ode2(x*'diff(y,x)+y=1,y,x);
(%o7)
364
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
Solución
(%i1) kill(all);
(%i2) ode2('diff(y,x)-3*x-5*y=0,y,x);
(%o1)
3 3
La solución la podemos escribir: y ( x) c e5 x x
5 25
Completemos el ejemplo graficando algunas curvas solución, seleccionamos
arbitrariamente los siguientes valores c 1, 2, 0, 1, 2
(%i3) sol:makelist(c*exp(5*x)-3*x/5-3/25,c,-2,2);
(sol) [\-2*%e^(5*x)\-(3*x)/5\-3/25,\-%e^(5*x)\-(3*x)/5\-3/25,\-(3*x)/5\-
3/25,%e^(5*x)\-(3*x)/5\-3/25,2*
%e^(5*x)\-(3*x)/5\-3/25]
(%i4) plot2d(sol,[x,-0.4,0.2]);
365
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
(%i1) load("plotdf")$
(%i2) plotdf(3*x+5*y);
Ejemplo 5. Resolver 2 x y dx x 2 y 2 dy 0
Solución
independiente, entonces la ED a resolver es: 2 x y x 2 y 2
dy
dx
0
(%i1) ec1:2*x*y-(x^2-y^2)*'diff(y,x)=0;
(ec1)
(%i2) ode2(ec1,y,x);
(%o2)
(%i4) solve(%o2,y);
(%o4)
366
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
(%i5) method;
(%o5) exact
M N
Comprobemos que se cumple la condición de exactitud; es decir,
y x
(%i12) diff(2*x*y,y)-diff(x^2-y^2,x);
(%o12) 0
Ejemplo 6. Resolver y 2 6 xy 20 x 2 dy
dx
4y 2
2 xy 3 x 2 0
Solución
(%i8) ec2:3*x^2+2*x*y+4*y^2+(20*x^2+6*y*x+y^2)*'diff(y,x)=0;
(ec2)
(%i9) ode2(ec2,y,x);
(%o9)
(%i10) method;
(%o10) homogeneous
(%i11) solve(ode2(ec2,y,x),y);
(%o11)
Ejercicios
dy
1. Resolver paso a paso la ED x 2 y 1 ¿Se obtiene la misma solución por pasos que
dx
con ode2?
dy
2. Resolver y e x y y e x y , y (0) 0 , graficar el campo de pendientes y la curva
dx
solución en un mismo gráfico.
3. Es homogénea o exacta la ED x 2 xy x y 3xy
2 3 3
dy
dx
Reporte
367
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
Introducción
dy
Una ED lineal de primer orden es una expresión de la forma a1 ( x) a0 ( x) y g ( x) en
dx
donde las funciones a1 ( x), a0 ( x) y g ( x) dependen solo de la variable independiente x , y
y es una función derivable. Una forma más útil se obtiene al dividir por la función
dy
a1 ( x) , para obtener p( x) y q( x) llamada forma estándar o canónica. Resolver una
dx
ED lineal de primer orden significa determinar una función y que satisfaga a la
ecuación donde las funciones p ( x ) y q ( x) son ambas continuas. La ED de la forma
dy
p ( x) y f ( x) y n se conoce como ecuación diferencial de Bernoulli.
dx
dy
Ejemplo 1. Resolver el PVI 2 xy x sujeto a la condición y (0) 1
dx
Solución
368
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
(%i13) ec1:'diff(y,x)+2*x*y=x;
(ec1) 'diff(y,x,1)+2*x*y=x
(%i14) ode2(ec1,y,x);
(%o14) y=%e^(\-x^2)*(%e^x^2/2+%c)
(%i15) method;
(%o15) linear
(%i17) ic1(%o14,x=0,y=1);
(%o17) y=(%e^(\-x^2)*(%e^x^2+1))/2
(%i19) plot2d((exp(-x^2)+1)/2,[x,-2,2]);
dy
Figura 1. Curva solución de 2 xy x, y (0) 1
dx
dy 2x
Ejemplo 2. Resolver el PVI 2 y x 2 4, y (0) 1
dx x 4
Solución
(%i1) ec1:'diff(y,x)+2*x/(x^2+4)*y=x^2-4;
(ec1)
(%i2) ode2(ec1,y,x);
(%o2)
(%i3) method;
(%o3) linear
369
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
(%i6) ic1(%o2,x=0,y=1);
(%o6)
(%i9) plot2d((x^5-80*x+20)/(5*x^2+20),[x,-3,3]);
dy 2x
Figura 2. Curva solución de 2 y x 2 4, y (0) 1
dx x 4
dy 3
Ejemplo 3 Resolver la ED de Bernoulli y y5
dx x
Solución
(%i1) ec1:'diff(y,x)-3*y/x=y^5;
(ec1)
(%i2) ode2(ec1,y,x);
(%o2)
(%i3) method;
(%o3) bernoulli
(%i8) ic1(%o2,x=1,y=2);
370
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
(%o8)
dy 3
Figura 3. Curva solución de la ED de Bernoulli y y 5 sujeta a y (1) 2
dx x
Ejercicios
1 x
b) y ' y 2
x x 1 x 4
Reporte
371
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
Introducción
an ( x) y an 1 ( x) y
n 1
... a2 ( x) y '' a1 ( x) y ' a0 ( x) y g ( x)
n
Similar al hecho de que cualquier vector en tres dimensiones se puede expresar como
una combinación lineal de los vectores linealmente independientes i, j,k , cualquier
solución de una ecuación diferencial lineal homogénea de n-ésimo orden en un intervalo
I se expresa como combinación lineal de n soluciones linealmente independientes en I.
En otras palabras, n soluciones linealmente independientes y1 , y2 , , yn son los
elementos para la solución general de la ED.
y( x) c1 y1 ( x) c2 y2 ( x) cn yn ( x)
Cualquier función, libre de constantes arbitrarias, que satisface una ecuación diferencial
lineal no homogénea se denomina solución particular o integral particular de la
ecuación. Se emplea el símbolo y p para representar a esta función. Si y1 , y2 , , yk son
solución en un intervalo I de la ecuación diferencial lineal homogénea asociada
(denominada yc ), entonces la combinación lineal
373
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
y( x) c1 y1 ( x) c2 y2 ( x) ck yk ( x) y p
y( x) c1 y1 ( x) c2 y2 ( x) cn yn ( x) y p
Las ecuaciones de segundo orden se integran igual que las de primero, mediante ode2,
la única diferencia es que ahora aparecerán dos constantes de integración, que Maxima
denotará % k 1, % k 2.
d 2 x dx
Ejemplo 1. Resolver la ecuación diferencial homogénea 2x 0
dt 2 dt
Solución
(%i1) ec1:'diff(x,t,2)+'diff(x,t)-2*x=0;
(ec1)
(%i2) ode2(ec1,x,t);
(%i3) method;
374
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
Al existir dos constantes de integración, para obtener una solución particular hay que
especificar un punto por el que pase la solución x(t0 ) x0 y el valor de la derivada de la
función en ese punto x '(t0 ) x1 . Esto se hace a través del comando ic2. Si Suponemos
(%i18) ic2(%o2,t=0,x=3,'diff(x,t)=2);
(%i19) plot2d((8*exp(t))/3+exp(-2*t)/3,[t,-3,4]);
d 2 x dx
Figura 1. Curva solución del PVI 2 2 x 0 , x(t 0) 3 y x '(t 0) 2
dt dt
375
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
d 2 x dx
Ejemplo 2. Resolver la ED 2 x sin(t ) , sujeta a las siguientes condiciones
dt 2 dt
iniciales x(t 0) 0 y x '(t 0) 1
Solución
(%i7) ec1:'diff(x,t,2)+'diff(x,t)-2*x=sin(t);
(ec1)
(%i8) ode2(ec1,x,t);
(%o8)
(%i9) method;
(%o9) variationofparameters
(%i13) ic2(%o8,t=0,x=0,'diff(x,t)=1);
(%o13)
(%i14) plot2d(-(3*sin(t)+cos(t))/10+(exp(t))/2+(2*exp(-2*t))/5,[t,-3,4])
376
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
d 2 x dx
Figura 2. Curva solución del PVI 2 2 x sin(t ) , x(t 0) 0 y x '(t 0) 1
dt dt
d 2 x dx
Ejemplo 3. Resolver el problema de valores frontera 2 x sin(t ) sujeto a las
dt 2 dt
siguientes condiciones x(t 0) 1 y x(t 1) 0
Solución
(%i7) bc2(%o8,t=0,x=1,t=1,x=0);
(%o7)
377
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
d 2x dx
(1 t ) 2
t tx 0
dt dt
Solución
(%i4) ec1:('diff(x,t,2)+t*'diff(x,t)-t*x=0);
(ec1) 'diff(x,t,2)+t*('diff(x,t,1))\-t*x=0
(%i5) ode2(ec1,x,t);
(%i6) load(contrib_ode);
(%o6)
"C:/maxima-
5.43.2/share/maxima/5.43.2/share/contrib/diffequations/contrib_ode.mac"
(%i7) odelin(ec1,x,t);
(%o7)
378
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
t2
t
Maxima reporta dos soluciones para este problema, la que nos interesa es x(t ) e 2
que es fácil comprobar que es solución de la ED dada. La otra es una solución compleja,
en este curso sólo trabajamos con funciones de variable real.
Reporte
Entregar un informe en PDF que incluya: portada, introducción, metodología,
resultados, conclusiones y bibliografía. Entregar los códigos de los ejercicios resueltos
en un archivo con extensión .wxmx
Introducción
L f (t ) e st f (t )dt
0
1. Transformada de Laplace
380
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
La función laplace reconoce las funciones elementales, así como derivadas y primitivas
de estás, también reconoce integrales de convolución. Las relaciones implícitas
establecidas por depends no son reconocidas. Si f depende de x y y , f ( x, y ) debe
aparecer en expr.
Los siguientes ejemplos muestran lo fácil que es obtener la transformada de Laplace con
Maxima.
Ejemplo 1. Calcular L e2t sin(t )
Solución
(%i6) laplace(exp(2*t)*sin(t)*t,t,s);
(%o6) F(s)=
(%i8) laplace(5*sin(t)+9*cos(t),t,s);
f (t ) 5sin(t ) 9 cos(t ) (%o8) F(s)=
(%i9) laplace(t^3*exp(a*t),t,s);
f (t ) t 3eat (%o9) F(s)=
(%i11) laplace(exp(2*t)*cosh(t)*exp(a*t),t,s);
f (t ) e2t cosh(t ) (%o11) F(s)=
t 0 t 1
f (t )
1 1 t
(%i1) eq1:t-t*unit_step(t-1)+unit_step(t-1);
381
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
(eq1)
(%i2) laplace(eq1,t,s);
(%o2)
s 3
Ejemplo 3. Calcular L 1 2
s 6 s 34
Solución
(%i13 ilt((s-3)/(s^2-6*s+34),s,t);
(%o13) f(t)=e^(3*t)*cos(5*t)
2
s 1
1
Ejemplo 4. Calcular L 2
s s 1
2
Solución
(%i14) ilt((s^2-1)/(s*(s^2+1)^2),s,t);
(%o14) f(t)=t*sin(t)+cos(t)\-1
3. Ecuaciones diferenciales
Solución
382
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
(%i15) eq1:2*diff(y(t),t,2)-3*diff(y(t),t)+4*y(t)=delta(t+1);
(eq1)
(%i16) desolve(eq1,y(t));
(%o16)
(%i17) atvalue(y(t),t=0,1);
(%o17) 1
(%i18) atvalue('diff(y(t),t),t=0,-1);
(%o18) -1
(%i19) desolve(eq1,y(t));
(%o19)
Maxima guarda la asignación dada a expr en la definición atvalue. Así, con respecto al
ejemplo anterior, cualquier otro cálculo que se haga en la misma sesión, el valor de
y (t ) y su derivada en t 0 será 1 y -1 respectivamente. Podemos eliminar esta asignación
mediante la instrucción: remove(y,atvalue).
Solución
(%i1) ec2:'diff(y(x),x,3)+'diff(y(x),x,2)-2*'diff(y(x),x)=5-exp(x);
(ec2)
(%i2) atvalue('diff(y(x),x,2),x=0,1);
383
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
(%o2) 1
(%i3) atvalue(y(x),x=0,0);
(%o3) 0
(%i4) atvalue('diff(y(x),x),x=0,0);
(%o4) 0
(%i6) desolve(ec2,y(x));
(%o6)
(%o7)
(%i8) remove(y,atvalue);
(%o8) done
4. Ecuaciones integrales
Utilizando las funciones laplace e ilt, junto con las funciones solve o linsolve, Maxima
puede resolver ciertas ecuaciones integrales.
t
Ejemplo 7. Resolver la ecuación integral f (t ) 4t 3 f (t ) sin( ) d
0
Solución
(%i1) 'integrate(-3*sin(x)*f(t-x),x,0,t)+4*t=f(t);
(%o1)
(%i2) laplace(%,t,s);
(%o2)
(%i3) linsolve([%],['laplace(f(t),t,s)]);
(%o3)
384
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
(%i4) ilt(rhs(first(%)),s,t);
(%o4)
Comentarios:
Ejemplo 8. Resolver la ecuación integral f (t ) 2 f (t ) cos(t ) d 4e t sin(t )
0
Solución
(%i17) 'integrate(2*cos(x)*f(t-x),x,0,t)-4*exp(-t)-sin(t)=-f(t);
(%o17)
(%i18) laplace(%,t,s);
(%o18)
(%i19) linsolve([%],['laplace(f(t),t,s)]);
(%o19)
(%i20) ilt(rhs(first(%)),s,t);
(%o20) f(t)=
Ejercicios:
cos(t ) 0 t
a) f (t )
sin(t ) t
385
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
4s 1
b) L 1 e 4 s
s 7 s 30
3
1
2. Calcular la transformada de la función periódica diente de sierra f (t ) t, T 2
2
16 t 0 t 1
4. Resolver y '' 4 y f (t ), y (0) 0, y '(0) 0, f (t )
0 1 t
5. Resolver f (t ) u f (t u ) du 5 et
0
Reporte
Entregar un informe en PDF que incluya: portada, introducción, metodología,
resultados, conclusiones y bibliografía. Entregar los códigos de los ejercicios resueltos
en un archivo con extensión .wxmx
386
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
Introducción
Existen muchas aplicaciones en la vida real que no se modelan a través de una sola
ecuación diferencial. Por ejemplo, un sistema de dos o más resortes, circuitos formados
por varias mallas, dos o más péndulos acoplados, cinética de reacciones químicas que
incluyen mecanismos de reacción.
387
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
Solución
(%i1) eq1:2*'diff(x(t),t)+'diff(y(t),t)-y(t)=t;
388
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
(eq1)
(%i2) eq2:'diff(x(t),t)+'diff(y(t),t)=t^2;
(eq2)
(%i4) desolve([eq1,eq2],[x(t),y(t)]);
(%o4)
Con la instrucción ev
(%i5) ev(%,x(0)=1,y(0)=0);
(%o5)
(%i7) atvalue(y(t),t=0,0);
atvalue(x(t),t=0,1);
(%o6) 0
(%o7) 1
(%i8) desolve([eq1,eq2],[x(t),y(t)]);
(%o8)
plot2d([5*exp(-t)+t^3/3-2*t^2+5*t-4,-5*exp(-t)+2*t^2-5*t+5], [t,0,4]);
389
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
d 2 x1
m1 k1 x1 k2 x2 x1
dt 2
d 2 x2
m2 2 k2 x2 x1
dt
movimiento desde sus posiciones de equilibrio con velocidad unitaria positiva para la
masa uno y velocidad unitaria negativa para la masa dos. Resolver el sistema de
ecuaciones diferenciales y graficar las curvas solución.
Soporte
K1
0
m1 390
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
K2
F1
Prácticas de Ecuaciones Diferenciales
con Maxima
(%i1) eq1:'diff(x1(t),t,2)+10*x1(t)-4*x2(t)=0;
(eq1)
(eq2)
(%i3) atvalue(x2(t),t=0,0);atvalue('diff(x2(t),t),t=0,-1);atvalue('diff(x1(t),t),t=0,1);
atvalue(x1(t),t=0,0);
(%i10) desolve([eq1,eq2],[x1(t),x2(t)]);
(%o10)
(%111) plot2d([(sqrt(3)*sin(2*sqrt(3)*t))/5-sin(sqrt(2)*t)/(5*sqrt(2)),-
391
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
(sqrt(3)*sin(2*sqrt(3)*t))/10-(sqrt(2)*sin(sqrt(2)*t))/5],[t,0,5]);
Figura 3. Gráfica de las curvas solución (masa uno en azul, masa dos en rojo)
Ejercicios
a R b c
v(t) i C
1 L
i2
f e d
392
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
t
Ri1 t 1 i1 i2 d V t
C 0
di2 t 1
t
L i1 i2 d 0
dt C 0
t t
di2 1
Ri1 t 1 i1 i2 d V t ; L i2 i1 d 0
C 0 dt C 0
Soporte
K1
m1
K2
m2
K3 393
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Soporte
Prácticas de Ecuaciones Diferenciales
con Maxima
394
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
Introducción
Teorema de Dirichlet
la serie e Fourier converge hacia f (t ) para todo punto donde la función es continua, y
para el caso en que t a sea un punto de discontinuidad, la serie de Fourier converge
hacia el promedio
1
lim f (t ) lim f (t )
2 t a t a
Teorema de Fourier
n n
a cos p x b sin
a
f ( x) 0 n n x
2 n 1
p
En la cual
p
f ( x)dx
1
a0
p
p
p
n
f ( x) cos p x dx
1
an
p
p
p 395
n
1
TecNM campus Tepic bn
Sergio Guadalupe Treviño
f ( x) sinTamez
x dx
p p
p
Prácticas de Ecuaciones Diferenciales
con Maxima
fourcos (f, x, p): Devuelve los coeficientes de los cosenos de Fourier de f ( x ) definida
en [0, p].
foursin (f, x, p): Devuelve los coeficientes de los senos de Fourier de f ( x ) definida en
[0, p].
totalfourier (f, x, p): Devuelve fourexpand (foursimp (fourier (f, x, p)), x, p, ’inf).
fourint (f, x): Calcula y devuelve la lista de los coeficientes integrales de Fourier de
f ( x ) definida en [minf, inf].
fourintcos (f, x): Devuelve los coeficientes integrales de los cosenos f ( x ) en [0, inf].
fourintsin (f, x): Devuelve los coeficientes integrales de los senos f ( x ) en [0, inf].
396
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
intervalo 2, 2
a) Borramos la memoria
(%i8) kill(all);
(%o0) done
b) cargamos el paquete fourie
(%i1) load(fourie);
(%o1) "C:/maxima-5.43.2/share/maxima/5.43.2/share/calculus/fourie.mac"
c) Definimos la función
(%i2) eq1:t+t^2;
(eq1) t^2+t
d) Calculamos los coeficientes
(%i3) eq2:fourier(eq1,t,2);
(eq2)
(eq2)
(eq2)
(%t10)
(%t11)
(%t12)
(eq3)
397
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
n3
(%i9) eq4:fourexpand(eq2,t,2,inf);
(eq4)
(%i15) totalfourier(eq1,t,2);
(%t15) a[0]=4/3
(%t16) a[n]=((16*sin(%pi*n))/(%pi*n)\-
(32*sin(%pi*n))/(%pi^3*n^3)+(32*cos(%pi*n))/(%pi^2*n^2))/2
(%t17) b[n]=((8*sin(%pi*n))/(%pi^2*n^2)\-(8*cos(%pi*n))/(%pi*n))/2
(%t18) a[0]=2^2/3
(%t19) a[n]=(16*(\-1)^n)/(%pi^2*n^2)
(%t20) b[n]=\-(4*(\-1)^n)/(%pi*n)
(%o20) \-(4*sum(((\-1)^n*sin((%pi*n*t)/2))/n,n,1,inf))/%pi+(16*sum(((\-
398
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
1)^n*cos((%pi*n*t)/2))/n^2,n,1,inf))/%pi^2+4/3
Solución
(%i4) kill(all);
(%o0) done
(%i1) load(fourie);
(%o1) "C:/maxima-5.43.2/share/maxima/5.43.2/share/calculus/fourie.mac"
(%i2) eq1:t^2;
(eq1) t^2
a) Serie de cosenos
(%i12) eq2:foursimp(fourcos(eq1,t,2));
(eq2)
(eq2)
(eq2)
(eq2)
(%i16) fourexpand(eq2,t,2,inf);
(%o16)
b) Serie de senos
(%i17) eq6:foursimp(foursin(eq1,t,2));
(eq6)
(eq6)
(%i19) fourexpand(eq6,t,2,inf);
399
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
(%o19)
t 2 t 0
f (t )
1 t 0t 2
Solución
(%i8) load(fourie);
(%o8) "C:/maxima-5.43.2/share/maxima/5.43.2/share/calculus/fourie.mac"
(%i9) a0:integrate(t,t,-2,0)+integrate((1-t),t,0,2);
(a0) -2
(%i10) an1:(integrate(t*cos(n*%pi*t/2),t,-2,0)+integrate((1-t)
*cos(n*%pi*t/2),t,0,2));
(%i12) an:foursimp(an1);
(an)
(%i13) bn1:(integrate(t*sin(n*%pi*t/2),t,-2,0))+integrate((1-
t)*sin(n*%pi*t/2),t,0,2);
(%i15) bn:foursimp(bn1);
400
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
4 1n 1
n
n t 1 1 n t
f (t ) 1
2 n2
cos
2
n
sin
2
n 1
, t 0
f (t )
t , 0 t 0
Solución
Ejercicios
x 1 x 0
a) f ( x)
x 0 x 1
b) f ( x) e x , x
a) f ( x) x 1, 0 x
0 0 x 1
b) f ( x) 1 1 x 2
2 2 x 3
Reporte
401
TecNM campus Tepic Sergio Guadalupe Treviño Tamez
Prácticas de Ecuaciones Diferenciales
con Maxima
402
TecNM campus Tepic Sergio Guadalupe Treviño Tamez