1 @c English version 2011-03-14
3 * Introducción a las ecuaciones diferenciales::
4 * Funciones y variables para ecuaciones diferenciales::
7 @node Introducción a las ecuaciones diferenciales, Funciones y variables para ecuaciones diferenciales, Ecuaciones Diferenciales, Ecuaciones Diferenciales
8 @section Introducción a las ecuaciones diferenciales
10 Esta sección describe las funciones disponibles en Maxima para
11 el cálculo de las soluciones analíticas de ciertos
12 tipos de ecuaciones de primer y segundo orden. Para las soluciones
13 numéricas de sistemas de ecuaciones diferenciales, véase el
14 paquete adicional @code{dynamics}. Para las representaciones
15 gráficas en el espacio de fases, véase el paquete @code{plotdf}.
18 @node Funciones y variables para ecuaciones diferenciales, , Introducción a las ecuaciones diferenciales, Ecuaciones Diferenciales
19 @section Funciones y variables para ecuaciones diferenciales.
22 @deffn {Función} bc2 (@var{soluc}, @var{xval1}, @var{yval1}, @var{xval2}, @var{yval2})
23 Resuelve el problema del valor en la frontera para ecuaciones diferenciales de segundo orden.
24 Aquí, @var{soluc} es una solución general de la ecuación, como las que calcula @code{ode2}, @var{xval1} especifica el valor de la variable independiente en el primer punto mediante una expresión de la forma @code{@var{x} = @var{x0}}, mientras que @var{yval1} hace lo propio para la variable dependiente. Las expresiones @var{xval2} y @var{yval2} dan los valores de estas mismas variables en un segundo punto, utilizando el mismo formato.
28 @deffn {Función} desolve (@var{ecu}, @var{x})
29 @deffnx {Función} desolve ([@var{eqn_1}, ..., @var{eqn_n}], [@var{x_1}, ..., @var{x_n}])
31 La función @code{desolve} resuelve sistemas de ecuaciones diferenciales ordinarias lineales utilizando la transformada de Laplace. Aquí las @var{eqi} (@code{i}=1,..,n) son ecuaciones diferenciales con variables dependientes @var{x_1}, ..., @var{x_n}. La dependencia funcional de @var{x_1}, ..., @var{x_n} respecto de una variable independiente, por ejemplo @var{x}, debe indicarse explícitamente, tanto en las variables como en las derivadas. Por ejemplo,
35 eqn_1: 'diff(f,x,2) = sin(x) + 'diff(g,x);
36 eqn_2: 'diff(f,x) + x^2 - f = 2*'diff(g,x,2);
39 no es el formato apropiado. El método correcto es
42 eqn_1: 'diff(f(x),x,2) = sin(x) + 'diff(g(x),x);
43 eqn_2: 'diff(f(x),x) + x^2 - f(x) = 2*'diff(g(x),x,2);
46 La llamada a la función @code{desolve} sería entonces
48 desolve([eqn_1, eqn_2], [f(x),g(x)]);
51 Si las condiciones iniciales en @code{x=0} son conocidas, deben ser suministradas antes de llamar a @code{desolve} haciendo uso previo de la función @code{atvalue},
54 @c 'diff(f(x),x)='diff(g(x),x)+sin(x);
55 @c 'diff(g(x),x,2)='diff(f(x),x)-cos(x);
56 @c atvalue('diff(g(x),x),x=0,a);
57 @c atvalue(f(x),x=0,1);
58 @c desolve([%o1,%o2],[f(x),g(x)]);
59 @c [%o1,%o2],%o5,diff;
62 (%i1) 'diff(f(x),x)='diff(g(x),x)+sin(x);
64 (%o1) -- (f(x)) = -- (g(x)) + sin(x)
66 (%i2) 'diff(g(x),x,2)='diff(f(x),x)-cos(x);
69 (%o2) --- (g(x)) = -- (f(x)) - cos(x)
72 (%i3) atvalue('diff(g(x),x),x=0,a);
74 (%i4) atvalue(f(x),x=0,1);
76 (%i5) desolve([%o1,%o2],[f(x),g(x)]);
78 (%o5) [f(x) = a %e - a + 1, g(x) =
81 cos(x) + a %e - a + g(0) - 1]
82 (%i6) [%o1,%o2],%o5,diff;
84 (%o6) [a %e = a %e , a %e - cos(x) = a %e - cos(x)]
88 Si @code{desolve} no encuentra una solución, entonces devuelve @code{false}.
92 @deffn {Función} ic1 (@var{soluc}, @var{xval}, @var{yval})
94 Resuelve el problema del valor inicial en ecuaciones diferenciales de primer orden.
95 Aquí, @var{soluc} es una solución general de la ecuación, como las que calcula @code{ode2}, @var{xval} es una ecuación de la forma @code{@var{x} = @var{x0}} para la variable independiente y @var{yval} es una ecuación de la forma @code{@var{y} = @var{y0}} para la variable dependiente. Véase @code{ode2} para un ejemplo sobre su utilización.
99 @deffn {Función} ic2 (@var{soluc}, @var{xval}, @var{yval}, @var{dval})
101 Resuelve el problema del valor inicial en ecuaciones diferenciales de segundo orden.
102 Aquí, @var{soluc} es una solución general de la ecuación, como las que calcula @code{ode2}, @var{xval} es una ecuación de la forma @code{@var{x} = @var{x0}} para la variable independiente y @var{yval} es una ecuación de la forma @code{@var{y} = @var{y0}} para la variable dependiente, siendo @var{dval} una expresión de la forma @code{diff(@var{y},@var{x}) = @var{dy0}} que especifica la primera derivada de la variable dependiente respecto de la independiente en el punto @var{xval}.
104 Véase @code{ode2} para un ejemplo de su uso.
108 @deffn {Función} ode2 (@var{ecu}, @var{dvar}, @var{ivar})
109 La función @code{ode2} resuelve ecuaciones diferenciales ordinarias de primer y segundo orden. Admite tres argumentos:
110 una ecuación diferencial ordinaria @var{ecu}, la variable dependiente @var{dvar} y la variable independiente @var{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 @code{%c} se utiliza para representar la constante en el caso de ecuaciones de primer orden y los símbolos @code{%k1} y @code{%k2} son las constantes de las ecuaciones de segundo orden. Si por cualquier razón @code{ode2} no puede calcular la solución, devolverá @code{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: @code{method} almacena el método utilizado para encontrar la solución (como por ejemplo @code{linear}), @code{intfactor} para el factor de integración que se haya podido utilizar, @code{odeindex} para el índice del método de Bernoulli o el homogéneo generalizado y @code{yp} para la solución particular del método de variación de parámetros.
112 A fin de resolver problemas con valores iniciales y problemas con valores en la frontera, la función @code{ic1} está disponible para ecuaciones de primer orden y las funciones @code{ic2} y @code{bc2} para problemas de valores iniciales y de frontera, respectivamente, en el caso de las ecuaciones de segundo orden.
117 (%i1) x^2*'diff(y,x) + 3*y*x = sin(x)/x;
119 (%o1) x -- + 3 x y = ------
123 (%o2) y = -----------
126 (%i3) ic1(%o2,x=%pi,y=0);
128 (%o3) y = - ----------
131 (%i4) 'diff(y,x,2) + y*'diff(y,x)^3 = 0;
134 (%o4) --- + y (--) = 0
140 (%o5) ------------ = x + %k2
142 (%i6) ratsimp(ic2(%o5,x=0,y=0,'diff(y,x)=2));
145 (%o6) - ---------- = x
147 (%i7) bc2(%o5,x=0,y=1,x=1,y=3);
150 (%o7) --------- = x - -