Cap 2
Cap 2
En el anterior capı́tulo hemos visto ya como solucionar de forma muy simple las
ecuaciones diferenciales de primer orden que son de variables separables. En este capı́tulo
aprenderemos cómo solucionar otras ecuaciones de primer orden: trataremos primero
las ecuaciones lineales, la cuales responden siempre al patrón y′ + p(x)y = g(x) y para
las cuales existe un método genérico para encontrar su solución de forma analı́tica. A
continuación nos adentraremos en el mundo de las ecuaciones no lineales, para las cuales
no siempre es posible encontrar la solución. Revisaremos los casos más comunes que uno
se puede encontrar: las ecuaciones homogéneas, que responden al patrón y′ = f (y/x), las
ecuaciones exactas o que se pueden transformar en exactas, y finalmente trabajaremos el
caso de las ecuaciones de Bernoulli [y′ + p(x)y = g(x)yn ] y Ricatti [y′ = q1 (x) + q2 (x)y +
q3 (x)y2 ], que aunque no lineales, todas ellas son ecuaciones diferenciales ordinarias de
primer orden. En la penúltima sección del capı́tulo, aprenderemos como mediante la
ayuda de Sage podemos dibujar el ası́ llamado campo de pendientes con el que es posible
conocer de forma cualitativa como deben comportarse las soluciones de una ecuación.
En esta última sección aprenderemos también a utilizar Sage en la resolución algebraica
de ecuaciones y qué se puede hacer cuando algebraicamente no es posible encontrar
una solución: como veremos, no se puede ir al tuntún cuando se usan ordenadores para
resolver numéricamente ecuaciones diferenciales, los conocimientos teóricos son muy
importantes. En la última sección se hallan diversos ejercicios resueltos para ayudar a la
comprensión de lo explicado durante el capı́tulo.
siendo p(x) y g(x) funciones dadas. En este caso, vamos a imponer ya la condición inicial
arbitraria y(x0 ) = y0 y vamos a resolver la ecuación con la condición inicial a la misma
32 Solución de las EDO de primer orden
vez. La técnica es bien conocida desde hace siglos (Newton y Leibniz ya sabı́an hacerlo).
Se trata de multiplicar a derecha e izquierda por
Z x
µ (x) = exp ds p(s) . (2.2)
x0
y′ µ + y µ ′ = g µ , (2.3)
o
(yµ )′ = gµ , (2.4)
Si ahora integramos entre x0 y x y usamos que µ (x0 ) = 1, y(x0 ) = y0 , llegamos a la
solución: Z x
1
y(x) = ds g(s)µ (s) + y0 (2.5)
µ (x) x0
y′ = −xy + 4x,
(2.6)
y(1) = 2.
y′ = −xy + 4x (2.8)
y′ = f (y/x). (2.9)
2.3 Ecuaciones exactas 33
Por ejemplo y′ = sin(y/x). No siempre es tan fácil darse cuenta a primera vista de si una
ecuación diferencial es homogénea.
′ y2 + 2xy
y = 2 (2.10)
x + y2
es homogénea y encontrar la función f .
dy
o en una forma más mnemotécnica, aprovechando que y′ = también la podemos
dx
−2y
escribir como N(x, y) dy + M(x, y) dx = 0. Ası́ por ejemplo la ecuación y′ = se
3x
puede escribir en la forma (2.13) de varias maneras distintas:
3xy′ + 2y = 0, (2.14)
3x2 y2 y′ + 2xy3 = 0, (2.15)
3 ′ 2
y+ = 0. (2.16)
y x
Como probaremos más adelante, si conseguimos escribir cualquier ecuación diferencial
en la forma (2.13) de manera que se verifique que
∂N ∂M
= , (2.17)
∂x ∂y
entonces será una ecuación diferencial exacta.
⋆ Problema - 2.7. ¿ Resulta ser alguna de las formas anteriores de escribir la ecuación
−2y
y′ = una ecuación diferencial exacta?
3x
Como veremos, si conseguimos escribir una ecuación en una forma exacta, estare-
mos muy cerca de encontrar la familia de soluciones: tomemos del ejemplo anterior la
expresión 3x2 y2 y′ + 2xy3 = 0, observamos que N(x, y) = 3x2 y2 , M(x, y) = 2xy3 , y que
∂x N = ∂y M = 6xy2 por lo que sin duda estamos ante un caso de una ecuación de las que
hemos clasificado como exactas. Como probaremos más adelante, para cualquier ecuación
exacta existe una función Ψ(x, y), que en el caso que nos ocupa es Ψ(x, y) = x2 y3 , tal
que ∂∂Ψy = N y ∂∂Ψx = M, y por tanto la ecuación diferencial la puedo reescribir como2 :
dy
∂y Ψ + ∂x Ψ = 0.
dx
Fácilmente reconoceremos que el termino izquierdo no es más que el resultado de aplicar
la regla de la cadena cuando calculamos el diferencial total de Ψ(x, y) respecto a x:
dΨ(x, y)
=0
dx
y esta última ecuación si que la sabemos resolver muy fácilmente, puesto que necesari-
amente Ψ(x, y) = C donde C es una constante. Ası́ pues, Ψ(x, y) = C es una solución
implı́cita a nuestra ecuación diferencial. Aplicado a nuestro ejemplo, obtenemos x2 y3 = C,
y por tanto y(x) = (C/x2 )1/3 . Como vemos, en algunos casos, será fácil aislar y de la
expresión Ψ(x, y) = C y podremos obtener una solución explicita y(x) a la ecuación
diferencial, en otros casos, al no ser posible aislar y, [Link]. si Ψ(x, y) = C resulta ser
2
QUEDA PENDENT EXPLICAR
2.3 Ecuaciones exactas 35
una ecuación trascendente, entonces nos deberemos conformar con la solución implı́cita
Ψ(x, y) = C. En estos casos, para una C fijada, si uno desea obtener y(x), se puede ir
asignando valores a x y resolver numéricamente cuanto debe valer y para que se satisfaga
Ψ(x, y) = C.
Probemos ahora de manera rigurosa todo lo que hemos afirmado anteriormente,
empezando con el siguiente teorema que nos garantiza que si tenemos una ecuación
diferencial exacta, entonces, sin duda, existe una función Ψ como la que nosotros de-
seamos tener. Durante el proceso de demostración hallaremos una forma sistemática de
obtener la función Ψ(x, y).
∂M ∂N
Teorema 2.1. La ecuación diferencial N(x, y)dy + M(x, y)dx = 0, donde M, N, ,
∂y ∂x
∂N ∂M
son funciones continuas en una cierta región, es exacta, es decir = , si y sólo
∂x ∂y
si3 existe una función Ψ(x, y) tal que:
∂ Ψ(x, y) ∂ Ψ(x, y)
= M(x, y), = N(x, y). (2.18)
∂x ∂y
La demostración del teorema en el sentido ”⇒” es como sigue:
Demostración (⇒): Buscamos una función Ψ(x, y) que satisfaga ∂x Ψ = M y ∂y Ψ =
∂Ψ
N. Tomemos la primera igualdad = M e integremos con respecto a x (manteniendo
∂x
y constante): Z x
Ψ= dx M(x, y) + H(y) (2.19)
siendo H(y) una función arbitraria. Determinaremos esta función pidiendo que se cumpla
∂Ψ
la segunda condición = N. Esto lleva a
∂y
Z x
∂Ψ ∂ M dH(y)
N= = dx + (2.20)
∂y ∂y dy
de donde encontramos
Z x Z y Z x
dH(y) ∂M ∂M
=N− dx ⇒ H(y) = dy N − dx . (2.21)
dy ∂y ∂y
Para que eso tenga sentido, el lado derecho de esta última ecuación tiene que ser función
sólo de y. Es decir, necesitamos que
Z y Z x
∂ ∂M
dy N − dx = 0,
∂x ∂y
lo cual se puede probar usando el hecho de que tenemos una ecuación diferencial exacta,
∂N ∂M
es decir, = .
∂x ∂y
3
Observar el ”si y sólo si” que implica que si es cierta la premisa se verifica la conclusión pero que
también debe suceder al revés, si se verifica la conclusión debe ser cierta la premisa.
36 Solución de las EDO de primer orden
−2y
⋆ Problema - 2.11. Para y′ = demostrar sin cambiar su forma que también
3x
Ψ(x, y) = x2 y3 y, por tanto, la solución es y(x) = Cx−2/3 . Este ejemplo se podı́a resolver
dándose cuenta de que la ecuación diferencial es de variables separadas. Comparad
los dos métodos.
Vemos como moraleja, que una misma ecuación diferencial puede, a veces, resolverse
de diversas maneras. Hay que estar pues atentos, y escoger aquella vı́a que nos resulte
menos tediosa.
∂ (µ N) ∂ (µ M)
= (2.24)
∂x ∂y
Por consiguiente, lo que hay que hacer es resolver la anterior ecuación diferencial en
derivadas parciales para la función µ (x, y) ¡lo cual suele ser mucho más difı́cil que re-
solver la ecuación original! Sin embargo, hay un par de casos en los que sı́ se puede
encontrar fácilmente µ (x, y).
⋆ Problema - 2.15. Encontrar las condiciones para que el factor integrante µ dependa
sólo de y.
Para otros valores de n, ya en su dı́a Bernoulli nos enseñó el camino a seguir: hacer
el cambio de variables z = y1−n .
38 Solución de las EDO de primer orden
con p̂(x) = (1 − n)p(x), ĝ(x) = (1 − n)g(x), que se resuelve por la técnica del capı́tulo
2.1 para encontrar z(x). Luego se deshace el cambio de variable para encontrar y(x).
No existe una manera general de encontrar la solución de una ecuación de Ricatti váli-
da para funciones arbitrarias q1 (x), q2 (x), q3 (x). Sin embargo, es posible hacer las dos
afirmaciones siguientes:
1) Si conocemos una solución cualquiera de la ecuación de Ricatti y1 (x) entonces
la familia general de soluciones se encuentra mediante el cambio de variables y(x) =
1
y1 (x) + v(x) .
⋆ Problema - 2.18. Demostrar que v(x) satisface una ecuación lineal que se resolverá.
Aplicar este método para resolver el problema:
y
y′ = x2 + − y2 , y(x = 1) = 0 (2.29)
x
dándose cuanta de que y1 (x) = x es una solución de esta ecuación.
al patrón y′ = f (x, y) y por tanto la función f (x, y) nos da información sobre el valor de
la pendiente de la solución y(x) que pasa por el punto (x, y). Ası́ pues, si a cada punto
(x, y) del espacio le asociamos un pequeño segmento rectilı́neo con pendiente igual al
valor de f (x, y), dado que dichos segmentos representaran la tangente en el punto (x, y)
a la solución y(x) que pase por ese punto, podremos entonces fácilmente deducir como
se comportarán la soluciones a la ecuación diferencial.
Dibujar un campo de pendientes, es muy fácil con Sage, supongamos que queremos
conocer cualitativamente que solución o soluciones tendrá la ecuación diferencial de
primer orden5 y′ = −2(1 − y/3)y en función de la condición inicial que impongamos
y(xo ) = yo . Para ello introduciremos en la lı́nea de comandos de Sage:
sage: var(’x,y’)
sage: plot_slope_field(-2*(1-y/3)*y, (x,-4,5), (y,-2,5))
Del dibujo resultante, ver figura 2.1, observamos que si nuestra solución debe pasar por
el punto (−2, −1,5) (es decir y(−2) = −1,5) entonces, a base de seguir los segmentos a
partir de dicho punto que representan las lı́neas tangentes a la solución y(x) vemos que
nuestra solución tenderá asintóticamente hacia cero a medida que x crece, y tenderá a
−∞ cuando x se haga negativo. Por el contrario, si nuestra condición inicial es tal que la
solución debe pasar por el punto (−2, 1,5) (es decir, y(−2) = 1,5), vemos que nuestra
solución debe ser tal que asintóticamente tienda a cero cuando x → ∞ y debe tender a
y = 3 cuando x → −∞. A su vez, si la condición inicial es y(−2) = 4,5 vemos que la
solución al problema de condiciones iniciales será tal que cuando x → ∞ el valor de y se
dispara hacia +∞ mientras que cuando x → −∞ la solución debe tender asintóticamente
hacia y = 3. También podemos observar que si la condición es y(xo ) = 0 cualquiera que
sea xo vemos que la solución al problema es y(x) = 0, mientras que si la condición inicial
es y(xo ) = 3 vemos que la solución será y(x) = 3. Observamos pues que la solución a
un problema de condiciones iniciales puede ser muy diferente dependiendo de cual sea
la condición inicial impuesta, aun cuando la ecuación diferencial sea exactamente la
misma. Otro aspecto a considerar es el hecho de que según el teorema de existencia y
unicidad sabemos que dada una condición inicial las soluciones a este problema deben
ser únicas. No obstante en la figura 2.1 podemos observar que dependiendo de cual sea
la condición inicial, las soluciones pueden ser válidas en todo el intervalo de las x o no:
cuando yo ∈ [0, 3] vemos que la solución y(x) abarca todos los valores de x, es decir y(x)
esta definida para todo x ∈ (−∞, +∞). Cuando el valor de yo ∈ / [0, 3] observamos que
las soluciones presentan siempre una ası́ntota hacia +∞ o hacia −∞ para un valor de x
finito y por tanto existe todo un rango de valores de x para el cual no es posible definir
una solución que cumpla con la condición inicial y(xo ) = yo . Por ejemplo, de la figura 2.1
vemos claramente que si la solución debe satisfacer la condición inicial de pasar por el
punto (2, −2), debido a la ası́ntota hacia −∞ no nos podemos plantear por ejemplo cual
es valor de dicha solución para x = −3, simplemente dicha solución nunca pasará por
5
Para aquellos más ansiosos de saber, esta ecuación recibe el nombre de ecuación logı́stica, y veremos
en detalle como caracterizar este tipo de ecuaciones más adelante, aquı́ simplemente la usamos como
ejemplo para ilustrar toda la información cualitativa que se puede obtener mediante un campo de
pendientes.
40 Solución de las EDO de primer orden
un punto que tenga por valor de x = −3. El teorema de existencia y unicidad nos dice
que existe una única solución pero no nos puede garantizar que el intervalo de validez de
las soluciones sea ∀x. Como vemos, hemos obtenido una información nada desdeñable
sobre toda una familia de problemas de condiciones iniciales con sólo pintar el campo de
pendientes asociado a la ecuación diferencial.
No obstante, hay que ir con cuidado, por ejemplo si nos concentramos en el problema
y′ = 2y1/2 , y dibujamos el campo de pendientes introduciendo
sage: var(’x,y’)
sage: plot_slope_field(2*yˆ(1/2), (x,-4,5), (y,-2,5))
obtendremos un dibujo como el de la figura 2.2, pero esto sólo es parte de la realidad
puesto que Sage sólo nos da la raı́z positiva de y1/2 , pero hay que considerar también la
raı́z negativa, es decir, realmente tenemos ±|y1/2 |. Esto nos debe llevar a pensar que si
en un mismo punto puede haber dos pendientes diferentes, la solución no será en general
única. De hecho, si recordamos el enunciado del teorema de existencia y unicidad, vemos
que aquı́ no se puede aplicar dicho teorema y por tanto no hay ninguna garantı́a de que
la solución sea única.
Para pintar el campo de pendientes completo correspondiente a f (x, y) = 2y1/2 ,
podemos superponer los gráficos para cada una de las raı́ces de la siguiente manera 6 :
sage: var(’x,y’)
sage: dibujo1=plot_slope_field(2*yˆ(1/2), (x,-4,5), (y,-2,5))
sage: dibujo2=plot_slope_field(-2*yˆ(1/2), (x,-4,5), (y,-2,5))
sage: mitexto=text(’Campo para $f(x,y)=\pm 2yˆ{1/2}$’,(0,-1))
sage: show(dibujo1+dibujo2+mitexto)
6
Como vemos en este ejemplo los gráficos o dibujos son objetos que también se pueden guardar en
variables, y posteriormente los podemos mostrar combinados con la instrucción show(). Observar que
la función para crear un objeto de texto se compone de dos partes, la cadena de texto que queremos
escribir entre comillas, y a continuación las coordenadas (x, y) en donde debe colocarse el centro de la
cadena de texto. También conviene observar para escribir fórmulas matemáticas en un texto, se puede
utilizar en Sage la sintaxis que se utiliza en LaTex. Para más detalles sobre LaTex consultar por ejemplo
[Link]
2.7 Uso de Sage en la resolución de ecuaciones diferenciales de primer orden
41
p p
(x − xo + (yo ))2 p x < xo + (yo ),
y(x) = 0 xo + (yo ) ≤ x ≤ p,
(x − p)2 p< x
sage: var(’x’)
sage: y=function(’y’,x)
sage: ecuacion=(diff(y,x)==(x+y)/x)
sage: desolve(ecuacion,y)
sage: var(’x’)
sage: y=function(’y’,x)
sage: ecuacion=(diff(y,x)==1+xˆ2-2*x*y+yˆ2)
sage: desolve(ecuacion,y,contrib_ode=True)
el resultado será
el cual si se simplifica nos indica que la solución es: y(x) = x + 1/(c − x). La función
dsolve permite calcular la solución para condiciones de contorno especı́ficas entre otras
muchas cosas. Los parámetros asociados a dsolve se pueden consultar introduciendo en
la lı́nea de comandos dsolve?. Dicha función no es la única de que dispone Sage para la
resolución de ecuaciones diferenciales, el comando dsolvers? nos mostrará información
sobre las diversas funciones disponibles para este fin.
2.7 Uso de Sage en la resolución de ecuaciones diferenciales de primer orden
43
la condición inicial y(0) = 100, como paso tomamos h = 0,1. Ası́ pues introduciremos
los siguientes comandos8 :
sage: var(’x’)
sage: y=function(’y’,x)
sage: f(x,y)=-2*x
sage: eulers_method(f,0,100,0.1,1)
lo cual producirá una tabla con los valores de x, y en cada iteración y una tercera
columna que nos da el resultado de h f (x, y) para cada iteración. Si ahora queremos ver
el resultado no en una tabla sino en un gráfico, nada más sencillo, el último comando lo
reemplazamos por
sage: listadepuntos=eulers_method(f,0,100,0.1,1,method=’none’)
sage: P=list_plot(listadepuntos)
sage: show(P)
que producirá un gráfico como el mostrado en la figura 2.4 izquierda. Observar que en
la función eulers method() hemos añadido un sexto parámetro method =′ none′ para
evitar una salida en forma de tabla, y que los datos salgan formateados como una lista
de valores (x, y). Para observar como se estructura la lista basta con teclear el comando
eulers method( f , 0, 100, 0,1, 1, method =′ none′ ) sin asignarlo a la variable puntos. La
función list plot() se encarga de producir un dibujo a partir de una lista de valores (x, y).
Si en vez de dibujar los puntos solos, queremos dibujar una lı́nea que una los puntos
entre si, bastará con añadir:
sage: L=line(listadepuntos)
sage: show(P+L)
Figura 2.4: Solución numérica al problema y′ = −2x con y(0) = 100 y paso h = 0,1.
El problema del método de Euler radica en que los errores que cometemos al aproxi-
mar y′ por (y(x + h) − y(x))/h con un valor de h que no es infinitamente pequeño se van
acumulando, no se cancelan entre ellos, de forma que cuantas más iteraciones hagamos,
más nos distanciaremos de la solución correcta. Por esta razón, a lo largo de los últimos
siglos se han ido ideando métodos en los que los errores que se comenten al hacer las
aproximaciones tiendan a cancelarse los unos con los otros. Pero dichos métodos son
harina de otro costal y nosotros dejaremos aquı́ el tema de la resolución numérica de las
ecuaciones diferenciales.
46 Solución de las EDO de primer orden
∂y M − ∂x N 2y − y 1
= = ,
N xy x
y por tanto el factor integrante obedece la siguiente ecuación diferencial,
1 dµ 1
= ,
µ x x
a + by/x
y′ = −
b + cy/y
que es una ecuación homogénea, en el sentido de que y′ = f (x/y). Ası́ pues un simple
cambio z = y/x nos conduce a la ecuación
−a − 2bz − c2
xz′ = .
b + cz
Que si nos fijamos bien, resulta ser de variables separables, es decir:
b + cz 1
dz = − dx
a + 2bz + cz2 x
que nos conduce a ln(a + 2bz + cz2 )/2 = −ln(x) + K siendo K una constante. Y por
tanto la solución implı́cita es: ax2 + 2bxy + cy2 = K. Nuevamente, en este caso serı́a
posible expresar la solución de forma implı́cita como y = y(x).
⋆ Problema Resuelto - 2.6. Probar que −2x + y cos(x) + 5exy = 0 es una solución
implı́cita de la ecuación diferencial y′ (cos(x) + 5xexy ) + y(sin(x) + 5exy ) = 2.
La complicación que surge en este ejercicio es que no puedo obtener analı́ticamente
una función y(x) que pueda substituir directamente en la ecuación. En este caso lo que
haremos será usar la diferenciación implı́cita, es decir, aplicaremos d/dx a la solución
implı́cita. Si lo hacemos comprobaremos fácilmente que obtenemos como resultado
una ecuación diferencial igual a la del enunciado del problema.a
a
Para los más rigurosos y exigentes: ¿Quien nos asegura que existe una función y(x) tal que se
puede definir vı́a −2x + y cos(x) + 5exy = 0 y además sea diferenciable? El teorema de la función
implı́cita es la clave, véase [Link]. el libro Cálculo Vectorial de Marsden-Tromba.
50 Solución de las EDO de primer orden
2.9. Ejercicios
1. Resolver y decir en que intervalo es válida la solución de:
′
tx + x = t + 1
(a)
x(1) = 0.
tx′ + x = t + 1
(b)
x(−1) = 2.
Dibujad gráficas de las dos soluciones y comprobad la diferencia que hay entre las
dos.
8. Encontrar las condiciones para que Mdx + Ndy = 0 admita un factor integrante del
tipo µ (x, y) = µ (x). Usar dicho resultado para encontrar la familia de soluciones
de la siguiente ecuación diferencial: (x2 + y2 + x)dx + xydy = 0.
9. Encontrar las condiciones para que Mdx + Ndy admita un factor integrante del
tipo µ (x, y) = µ (xy).
10. Demostar que si Mdx + Ndy = 0 es una ecuación homogénea, un factor integrante
viene dado por:
1
µ (x, y) = .
xM + yN
11. Demostar que si conocemos dos soluciones particulares y1 (x), y2 (x) de la ecuación
de Ricatti, es posible encontrar la solución completa haciendo uso del cambio:
y1 − zy2
y= .
1−z