[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

# 21. Ecuaciones Diferenciales

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

## 21.1 Introducción a las ecuaciones diferenciales

Esta sección describe las funciones disponibles en Maxima para el cálculo de las soluciones analíticas de ciertos tipos de ecuaciones de primer y segundo orden. Para las soluciones numéricas de sistemas de ecuaciones diferenciales, véase el paquete adicional `dynamics`. Para las representaciones gráficas en el espacio de fases, véase el paquete `plotdf`.

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

## 21.2 Funciones y variables para ecuaciones diferenciales.

Función: bc2 (soluc, xval1, yval1, xval2, yval2)

  Resuelve el problema del valor en la frontera para ecuaciones diferenciales de segundo orden. Aquí, soluc es una solución general de la ecuación, como las que calcula `ode2`, xval1 especifica el valor de la variable independiente en el primer punto mediante una expresión de la forma `x = x0`, mientras que yval1 hace lo propio para la variable dependiente. Las expresiones xval2 y yval2 dan los valores de estas mismas variables en un segundo punto, utilizando el mismo formato.

Función: desolve (ecu, x)
Función: desolve ([eqn_1, ..., eqn_n], [x_1, ..., x_n])

  La función `desolve` resuelve sistemas de ecuaciones diferenciales ordinarias lineales utilizando la transformada de Laplace. Aquí las eqi (`i`=1,..,n) son ecuaciones diferenciales con variables dependientes x_1, ..., x_n. La dependencia funcional de x_1, ..., x_n respecto de una variable independiente, por ejemplo x, debe indicarse explícitamente, tanto en las variables como en las derivadas. Por ejemplo,

      eqn_1: 'diff(f,x,2) = sin(x) + 'diff(g,x);
      eqn_2: 'diff(f,x) + x^2 - f = 2*'diff(g,x,2);

  no es el formato apropiado. El método correcto es

      eqn_1: 'diff(f(x),x,2) = sin(x) + 'diff(g(x),x);
      eqn_2: 'diff(f(x),x) + x^2 - f(x) = 2*'diff(g(x),x,2);

  La llamada a la función `desolve` sería entonces

      desolve([eqn_1, eqn_2], [f(x),g(x)]);

  Si las condiciones iniciales en `x=0` son conocidas, deben ser suministradas antes de llamar a `desolve` haciendo uso previo de la función `atvalue`,

      (%i1) 'diff(f(x),x)='diff(g(x),x)+sin(x);
                       d           d
      (%o1)            -- (f(x)) = -- (g(x)) + sin(x)
                       dx          dx
      (%i2) 'diff(g(x),x,2)='diff(f(x),x)-cos(x);
                        2
                       d            d
      (%o2)            --- (g(x)) = -- (f(x)) - cos(x)
                         2          dx
                       dx
      (%i3) atvalue('diff(g(x),x),x=0,a);
      (%o3)                           a
      (%i4) atvalue(f(x),x=0,1);
      (%o4)                           1
      (%i5) desolve([%o1,%o2],[f(x),g(x)]);
                        x
      (%o5) [f(x) = a %e  - a + 1, g(x) =

                                                      x
                                         cos(x) + a %e  - a + g(0) - 1]
      (%i6) [%o1,%o2],%o5,diff;
                   x       x      x                x
      (%o6)   [a %e  = a %e , a %e  - cos(x) = a %e  - cos(x)]

  Si `desolve` no encuentra una solución, entonces devuelve `false`.

Función: ic1 (soluc, xval, yval)

  Resuelve el problema del valor inicial en ecuaciones diferenciales de primer orden. Aquí, soluc es una solución general de la ecuación, como las que calcula `ode2`, xval es una ecuación de la forma `x = x0` para la variable independiente y yval es una ecuación de la forma `y = y0` para la variable dependiente. Véase `ode2` para un ejemplo sobre su utilización.

Función: ic2 (soluc, xval, yval, dval)

  Resuelve el problema del valor inicial en ecuaciones diferenciales de segundo orden. Aquí, soluc es una solución general de la ecuación, como las que calcula `ode2`, xval es una ecuación de la forma `x = x0` para la variable independiente y yval es una ecuación de la forma `y = y0` para la variable dependiente, siendo dval una expresión de la forma `diff(y,x) = dy0` que especifica la primera derivada de la variable dependiente respecto de la independiente en el punto xval.

  Véase `ode2` para un ejemplo de su uso.

Función: ode2 (ecu, dvar, ivar)

  La función `ode2` resuelve ecuaciones diferenciales ordinarias de primer y segundo orden. Admite tres argumentos: una ecuación diferencial ordinaria ecu, la variable dependiente dvar y la variable independiente ivar. Si ha tenido éxito en la resolución de la ecuación, devuelve una solución, explícita o implícita, para la variable dependiente. El símbolo `%c` se utiliza para representar la constante en el caso de ecuaciones de primer orden y los símbolos `%k1` y `%k2` son las constantes de las ecuaciones de segundo orden. Si por cualquier razón `ode2` no puede calcular la solución, devolverá `false`, acompañado quizás de un mensaje de error. Los métodos utilizados para las ecuaciones de primer orden, en el orden en que se hace la tentativa de resolución son: lineal, separable, exacto (pudiendo solicitar en este caso un factor de integración), homogéneo, ecuación de Bernoulli y un método homogéneo generalizado. Para las ecuaciones de segundo orden: coeficiente constante, exacto, homogéneo lineal con coeficientes no constantes que pueden ser transformados en coeficientes constantes, ecuación equidimensional o de Euler, método de variación de parámetros y ecuaciones exentas de las variables dependientes o independientes de manera que se puedan reducir a dos ecuaciones lineales de primer a ser resueltas secuencialmente. Durante el proceso de resolución de ecuaciones diferenciales ordinarias, ciertas variables se utilizan con el único propósito de suministrar información al usuario: `method` almacena el método utilizado para encontrar la solución (como por ejemplo `linear`), `intfactor` para el factor de integración que se haya podido utilizar, `odeindex` para el índice del método de Bernoulli o el homogéneo generalizado y `yp` para la solución particular del método de variación de parámetros.

  A fin de resolver problemas con valores iniciales y problemas con valores en la frontera, la función `ic1` está disponible para ecuaciones de primer orden y las funciones `ic2` y `bc2` para problemas de valores iniciales y de frontera, respectivamente, en el caso de las ecuaciones de segundo orden.

  Ejemplo:

      (%i1) x^2*'diff(y,x) + 3*y*x = sin(x)/x;
                            2 dy           sin(x)
      (%o1)                x  -- + 3 x y = ------
                              dx             x
      (%i2) ode2(%,y,x);
                                   %c - cos(x)
      (%o2)                    y = -----------
                                        3
                                       x
      (%i3) ic1(%o2,x=%pi,y=0);
                                    cos(x) + 1
      (%o3)                   y = - ----------
                                         3
                                        x
      (%i4) 'diff(y,x,2) + y*'diff(y,x)^3 = 0;
                               2
                              d y      dy 3
      (%o4)                   --- + y (--)  = 0
                                2      dx
                              dx
      (%i5) ode2(%,y,x);
                            3
                           y  + 6 %k1 y
      (%o5)                ------------ = x + %k2
                                6
      (%i6) ratsimp(ic2(%o5,x=0,y=0,'diff(y,x)=2));
                                   3
                                2 y  - 3 y
      (%o6)                   - ---------- = x
                                    6
      (%i7) bc2(%o5,x=0,y=1,x=1,y=3);
                               3
                              y  - 10 y       3
      (%o7)                   --------- = x - -
                                  6           2

[ << ] | [ >> ] |  |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

This document was generated by Viktor T. Toth on octubre, 3 2017 using texi2html 1.76.