Documentos de Académico
Documentos de Profesional
Documentos de Cultura
EDO Con Sage.10 PDF
EDO Con Sage.10 PDF
Jos M. Gallardo
Prefacio VII
Jos M. Gallardo
Profesor Titular de Matemtica Aplicada
Universidad de Mlaga
viii Prefacio
CAPTULO
EL CONCEPTO DE ECUACIN
DIFERENCIAL
decir, tiene direccin y sentido, por lo que a la hora de traducir la ecuacin (1.1) a una
forma ms manejable debemos establecer un sistema de referencia adecuado. Vamos
a plantear el problema utilizando dos sistemas de referencia distintos: observaremos
que la ecuacin a resolver en cada caso ser diferente (ya que las variables significarn
cosas distintas en cada planteamiento), aunque la interpretacin fsica de la solucin
obtenida ser la misma en ambos casos.
Consideremos el sistema de referencia de la figura 1.1, donde el origen se encuen-
tra en el suelo y el sentido positivo del movimiento es hacia arriba.
m x(0)=h
g
h
Figura 1.1: Primer sistema de referencia: x (t) es la altura del cuerpo en el instante t.
Sea x (t) la posicin del cuerpo en el instante de tiempo t, que coincide con la altura
a la que se encuentra el cuerpo en dicho instante. La aceleracin puede interpretarse
como la segunda derivada de la posicin: a = x 00 (t). La nica fuerza que acta es la
gravedad, que tiene la forma F = mg, siendo g la constante gravitatoria; observemos
que el signo menos indica que la fuerza de la gravedad acta en sentido opuesto a la
direccin positiva del movimiento, es decir, hacia el suelo.
Podemos escribir pues la ecuacin (1.1) como
mx 00 (t) = mg,
de donde
x 00 (t) = g. (1.2)
La ecuacin (1.2) es un ejemplo de ecuacin diferencial ordinaria: en ella intervienen
una variable independiente (el tiempo t), una variable dependiente (la posicin x, que
depende del tiempo) y alguna de sus derivadas (en este caso, la segunda: diremos
1.1 Introduccin: algunos modelos 3
x (0) = h,
x 0 (0) = 0.
00
x = g,
x (0) = h,
0
x (0) = 0.
y
0 = x 0 (0) = g 0 + C1 C1 = 0.
Obtenemos as la nica solucin del problema de valores iniciales:
g
x (t) = t2 + h. (1.4)
2
Para calcular el tiempo que tarda el cuerpo en llegar al suelo, basta con resolver la
ecuacin x (t) = 0: s
g 2h
x ( t ) = 0 t2 + h = 0 t = .
2 g
Es importante notar que para el modelado matemtico del problema no ha sido
suficiente con establecer la ecuacin diferencial correspondiente, sino que hemos te-
nido que complementarla con dos condiciones iniciales para llegar a un problema de
valores iniciales. Observemos tambin que la solucin general de la ecuacin diferen-
cial depende de dos parmetros, mientras que la solucin del problema de valores
iniciales est dada por (1.4) y es, por tanto, nica.
Vamos a analizar ahora el mismo problema, pero usando un sistema de referencia
distinto (vase la figura 1.2). Para ello, estableceremos el origen en el punto desde el
que empieza a caer el objeto, y supondremos que la direccin positiva es la de cada.
Si x (t) es el espacio recorrido por el cuerpo en el instante t, la ecuacin diferencial
que modela el sistema ser
x 00 = mg,
ya que en este caso la fuerza gravitatoria acta en el sentido positivo del movimiento
dentro del sistema de referencia elegido. Las condiciones iniciales son, en este caso,
x (0) = 0 y x 0 (0) = 0.
Razonando como en el ejemplo anterior, deducimos que la solucin del problema
de valores iniciales es simplemente
g
x ( t ) = t2 . (1.5)
2
Observemos que no hay contradiccin alguna entre las soluciones (1.4) y (1.5), ya que
en cada caso x tiene una interpretacin distinta: en (1.4) indica la altura del cuerpo y
en (1.5) el espacio recorrido.
Las deducciones fsicas obtenidas a partir del modelo deben ser independientes del
sistema de referencia elegido, una vez interpretadas adecuadamente. De esta forma,
si queremos calcular el tiempo que el cuerpo tarda en llegar al suelo, considerando
ahora el segundo sistema de referencia, bastar con resolver la ecuacin x (t) = h:
s
g 2 2h
x (t) = h t = h t = .
2 g
Obtenemos as el mismo resultado que con el primer sistema de referencia.
1.1 Introduccin: algunos modelos 5
m x(0)=0
0
g
h
Figura 1.2: Segundo sistema de referencia: x (t) es el espacio recorrido por el cuerpo en el
instante t.
y( a) = 0.
6 El concepto de ecuacin diferencial
a 2 x 2 a
(x,y)
x
x
0 A=(a,0)
dN
= kN, (1.6)
dt
donde k es una constante de proporcionalidad. Supondremos que las constantes que
aparecen en la escritura de un modelo son siempre positivas; el signo menos en el
segundo miembro de la ecuacin anterior indica entonces que la cantidad de sustancia
va disminuyendo, como debe suceder realmente. En efecto, al ser k y N positivas, la
derivada N 0 (t) es negativa, con lo que N (t) es una funcin decreciente. Por ltimo, la
condicin inicial a considerar es N (0) = N0 .
La ecuacin (1.6) es de variables separadas o separables; en el captulo 2 veremos cmo
se resuelve. Es sencillo comprobar que la solucin del problema de valor inicial es
N (t) = N0 ekt ,
lm N (t) = 0,
t
lo que indica que la muestra radiactiva tiende a desaparecer conforme avanza el tiem-
po.
2 l/min
3 gr/l
50 l
2 l/min
S(t) S(t)
2 l/min gr/l = gr/min.
50 25
La variacin total de la concentracin de sal viene dada por la diferencia entre el
aporte y la prdida de sal. Obtenemos as la siguiente ecuacin diferencial
S(t)
S0 (t) = 6 .
25
La condicin inicial es S(0) = 75, ya que inicialmente hay 75 gr de sal en el depsito.
La ecuacin diferencial es de variables separadas, aunque tambin es una ecuacin
lineal (ver captulo 2). La solucin del problema de valor inicial es
ECUACIONES DIFERENCIALES DE
PRIMER ORDEN
2.1. Introduccin
Una ecuacin diferencial ordinaria de primer orden es una expresin que relaciona una
variable independiente x con una variable dependiente y( x ) y su primera derivada
y 0 ( x ):
F ( x, y( x ), y0 ( x )) = 0, x [ a, b].
Por ejemplo, son ecuaciones diferenciales ordinarias de primer orden las siguientes:
dy
y0 ( x ) = 0, = y, y + (y0 )1/3 + 25x = sen( x ).
dx
Para representar la derivada de y respecto de x usaremos indistintamente las notacio-
dy
nes y0 , y0 ( x ) o dx . Salvo que sea necesario por claridad, en general no expresaremos
la dependencia de la variable y respecto de x:
F ( x, y, y0 ) = 0, x [ a, b].
y : [ a, b] R
12 Ecuaciones diferenciales de primer orden
que verifica la ecuacin en cada punto x [ a, b]. Para que esta definicin tenga sen-
tido, es preciso que la funcin y( x ) sea derivable en el intervalo [ a, b] y que dicha
derivada sea una funcin continua: se dice entonces que y( x ) es de clase C1 ([ a, b]).
y 0 ( x ) = e x = y ( x ).
y = Ce x ,
y0 ( x ) = Ce x = y( x ).
Ms adelante veremos que todas las posibles soluciones de la ecuacin tienen la forma
anterior.
Resolver una ecuacin diferencial significa obtener todas sus soluciones, esto es,
hay que determinar su solucin general. La inmensa mayora de ecuaciones dife-
renciales no pueden resolverse mediante mtodos analticos, es decir, no es posible
obtener una expresin exacta de la solucin y y( x, C ). En este tema estudiaremos
diversos tipos clsicos de ecuaciones que s pueden resolverse de forma explcita.
Una ecuacin diferencial de primer orden est escrita en forma normal (tambin se
dice que est resuelta respecto de la derivada) si la derivada y0 aparece despejada:
y0 = f ( x, y).
M ( x, y) dx + N ( x, y) dy = 0.
En efecto:
dy
y0 = f ( x, y) = f ( x, y) f ( x, y)dx dy = 0;
dx
basta pues tomar M( x, y) = f ( x, y) y N ( x, y) = 1.
En las secciones siguientes estudiaremos mtodos de resolucin para tres tipos
fundamentales de ecuaciones diferenciales de primer orden:
2.2 Ecuaciones de variables separables 13
f (x)
Ecuaciones de variables separables: y0 = .
g(y)
Ecuaciones lineales: y0 = a( x )y + b( x ).
M N
Ecuaciones exactas: M ( x, y) dx + N ( x, y) dy = 0 con = .
y x
sage : var ( x )
sage : y = function ( y , x )
sage : ec = diff (y , x ) == 2* x * y
sage : desolve ( ec , y )
c * e ^( x ^2)
1 y2 2
dy = xe x dx.
y
Ejemplo 2.5. Por supuesto, no todas las ecuaciones diferenciales de primer orden son
de variables separables. Como muestra, un botn:
y 0 = x 2 + y2 .
y+ x 2 y2
p
f ( x, y) =
x
entonces, para cada > 0,
y + (x )2 (y)2 y + 2 ( x2 y2 ) y + x 2 y2
p p p
f (x, y) = = = = f ( x, y).
x x x
Para resolver la ecuacin, hacemos el cambio z = y/x. El segundo miembro de la
ecuacin quedara as:
y + x 2 y2 xz + x2 ( xz)2 xz + x2 (1 z2 )
p p p
p
= = = z + 1 z2 .
x x x
Sustituyendo en la ecuacin diferencial, resulta
0
p dz 1 z2
z + xz = z + 1 z2 = .
dx x
La ecuacin obtenida es de variables separables, por lo que podemos resolverla me-
diante integracin:
dz 1 z2 dz dx
Z Z
= = arc sen(z) = ln( x ) + C z = sen(ln( x ) + C )
dx x 1 z2 x
(ntese que se ha supuesto x > 0 para que ln( x ) tenga sentido). Por ltimo, deshace-
mos el cambio z = y/x para obtener la solucin general:
y = x sen(ln( x ) + C ).
z = sen(ln( x ) + C ) y = x sen(ln( x ) + C ).
dx
Z
= ln | x |.
x
De esta manera, podemos considerar la siguiente expresin de la solucin general:
y = x sen(ln | x | + C ),
x+y2
y0 =
xy+4
2.3 Ecuaciones lineales 17
no es homognea:
x + y 2 x+y2
f (x, y) = 6= = f ( x, y).
x y + 4 xy+4
Observemos que la condicin de homogeneidad falla debido a los trminos indepen-
dientes del numerador y el denominador de la funcin f ( x, y): si dichos trminos
no existieran, la ecuacin s que sera homognea. Esto nos da la idea de buscar un
cambio de variables que elimine dichos trminos.
Geomtricamente, podemos interpretar el numerador y el denominador de f ( x, y)
como las rectas de ecuaciones x + y 2 = 0 y x y + 4 = 0, respectivamente. Dichas
rectas se cortan en el punto (1, 3) (que se obtiene resolviendo el sistema dado por
las ecuaciones de ambas rectas). Mediante el cambio de variables
t = x (1) = x + 1, z = y 3,
trasladamos el punto (1, 3) al origen (0, 0). La ecuacin resultante va a ser homog-
nea.
En efecto, teniendo en cuenta que dx = dt y dy = dz, la ecuacin diferencial puede
escribirse como
dz t+z 1 + z/t
= = .
dt tz 1 z/t
Es fcil comprobar que esta ecuacin es homognea. Haciendo el cambio u = z/t,
resulta:
du 1+u du 1 + u2
t +u = t = .
dt 1u dt 1u
Mediante separacin de variables, tenemos que
1u dt 1
Z Z
du = arc tg(u) ln(1 + u2 ) = ln(t) + C.
1 + u2 t 2
Deshaciendo los cambios, obtenemos la solucin general en forma implcita:
y3 2
" #
y3 1
arc tg ln 1 + = ln( x + 1) + C.
x+1 2 x+1
y0 = a( x )y + b( x )
dy dy
Z Z
= a( x )y = a( x ) dx ln(y) = A( x ) + c,
dx y
y H ( x, C ) = Ce A( x) ,
y0P = a( x )y P + b( x ) C 0 ( x )e A( x) + A0 ( x )C ( x )e A( x) = a( x )C ( x )e A( x) + b( x );
(ntese que este ltimo paso no hay que aadir una constante de integracin, ya que
slo necesitamos una solucin particular). Finalmente, la solucin particular buscada
es Z
A( x )
yP = b( x )e dx e A( x) .
y0 = a( x )y + b( x )
y0 y0 = a( x )y a( x )y (y y)0 = a( x )(y y).
y0 = a( x )y + b( x )
y y = y H y = y + y H = (y H + y P ) + y H = (y H + y H ) + y P ,
Recapitulando, para calcular la solucin general de una ecuacin lineal basta con
calcular la solucin general de la ecuacin homognea asociada (que siempre es de
variables separables) y sumarle a sta una solucin cualquiera de la ecuacin comple-
ta.
dy y dy dx
Z Z
= = ln(y) = ln( x ) + c y H ( x, C ) = Cx.
dx x y x
y P = C ( x ) x,
yP C ( x )
x
y0P = + ln( x ) C 0 ( x ) x +
C (x) = + ln( x )
x x
ln( x ) 1
C0 (x) = C ( x ) = ln2 ( x ).
x 2
20 Ecuaciones diferenciales de primer orden
y0 = y + cos( x ),
y P = C ( x )e x .
sage : var ( x )
sage : y = function ( y , x )
sage : ec = diff (y , x ) == y + cos ( x )
sage : desolve ( ec , y )
1/2*(( sin ( x ) - cos ( x ))* e ^( - x ) + 2* c )* e ^ x
x H = Ce2y+sen(y) .
x P = C (y)e2y+sen(y) .
Como
dx P
= C 0 (y) + (2 + cos(y))C (y) e2y+sen(y) ,
dy
sustituyendo en la ecuacin completa resulta
de donde
C 0 (y)e2y+sen(y) = e2y+sen(y) C 0 (y) = 1 C (y) = y.
22 Ecuaciones diferenciales de primer orden
x P (y) = ye2y+sen(y) .
x = (y + C )e2y+sen(y) ,
Vamos a concluir esta seccin con el estudio de una clase importante de ecuaciones
no lineales que pueden transformarse en lineales mediante un cambio de variables:
las ecuaciones de Bernoulli. Una ecuacin de Bernoulli es de la forma
y0 = a( x )y + b( x )y ,
donde R. Observemos que hay dos casos triviales, que corresponden a los valores
= 0 y = 1:
= 0 y0 = a( x )y + b( x ) (lineal),
= 1 y0 = a( x )y + b( x )y = ( a( x ) + b( x ))y (variables separadas).
y y 0 = a ( x ) y 1 + b ( x ).
( y 1 ) 0 = (1 ) a ( x ) y 1 + (1 ) b ( x ).
z0 = a( x )z + b( x ),
donde a( x ) = (1 ) a( x ) y b( x ) = (1 )b( x ).
En resumen, podemos transformar la ecuacin de Bernoulli en una ecuacin de
tipo lineal mediante el cambio de variable dependiente dado por
z = y 1 ,
supuesto 6= 0 y 6= 1.
2.4 Ecuaciones exactas 23
dz
z = y 1 = y 2 z 0 = = 2y3 y0 .
dx
Multiplicando la ecuacin por 2y3 , resulta
2 2 2
2y3 y0 = y 2x3 z0 = z 2x3 .
x x
La ecuacin lineal resultante puede resolverse mediante el mtodo de variacin de la
constante. La solucin general es
z = Cx2 x4 .
1
y2 = Cx2 x4 y2 = .
Cx2 x4
Sage es capaz de resolver directamente una ecuacin de Bernoulli:
sage : var ( x )
sage : y = function ( y , x )
sage : ec = x * diff (y , x ) + y == x ^4* y ^3
sage : desolve ( ec , y )
1/( sqrt ( - x ^2 + c )* x )
M( x, y) dx + N ( x, y) dy = 0
E( x, y) = C,
24 Ecuaciones diferenciales de primer orden
E
= N ( x, y).
y
campo conservativo deriva de un potencial, esto es, existe una funcin potencial E( x, y)
tal que ~F puede expresarse como el gradiente de E:
~F ( x, y) =
E( x, y) M( x, y)~ + N ( x, y)~ =
E E
~ + ~.
x y
E E
= M( x, y), = N ( x, y).
x y
d E E dy
E( x, y( x )) = 0 ( x, y( x )) + ( x, y( x )) = 0.
dx x y dx
dy
M( x, y( x )) + N ( x, y( x )) = 0 M( x, y( x )) dx + N ( x, y( x )) dy = 0.
dx
Esto prueba que y( x ) es solucin de la ecuacin diferencial. Bajo ciertas hiptesis de
regularidad, puede demostrarse la existencia de una funcin potencial E( x, y).
2xy dx + ( x2 1) dy = 0.
M N
= (2xy) = 2x y = ( x2 1) = 2x,
y y x y
2.4 Ecuaciones exactas 25
E
= x2 1 N ( x, y).
y
Integrando respecto de x en la primera ecuacin, resulta:
Z Z Z
E
E( x, y) = dx = 2xy dx = y 2x dx = x2 y + g(y).
x
Observemos que al integrar la funcin de dos variables E( x, y) respecto de la variable
x, la constante de integracin que aparece no es realmente una constante, sino una
funcin de la variable y; en efecto, para cualquier funcin g(y) se verifica que
2 2
( x y + g(y)) = ( x y) + g(y) = 2xy + 0 = 2xy.
x x x
A continuacin, derivamos la expresin obtenida para E( x, y) respecto de la varia-
ble y:
E
= ( x2 y + g(y)) = x2 + g0 (y),
y y
y sustituimos en la segunda ecuacin del sistema:
Z
2 0 2 0
x + g ( y ) = x 1 g ( y ) = 1 g ( y ) = (1)dy = y.
E( x, y) = x2 y y = ( x2 1) y.
E
= x2 cos( xy) N ( x, y).
y
En este caso es ms sencillo integrar primero la segunda ecuacin:
Z Z Z
E 2 2
E( x, y) = dy = x cos( xy) dy = x cos( xy) dy = x sen( xy) + g( x ).
y
Derivando respecto de x, resulta:
E
= sen( xy) + xy cos( xy) + g0 ( x ).
x
Ahora sustituimos la expresin anterior en la primera ecuacin:
sen xy xycos ( xy
) + g0 ( x ) sen xy xycos ( xy ) g0 ( x ) = 0 g( x ) = c,
( ) + = ( ) +
x sen( xy) = C.
En caso de que Sage no pueda obtener una solucin de forma directa, cabe la po-
sibilidad de realizar todo el proceso de resolucin. Vamos a ilustrarlo con la ecuacin
del ejemplo.
En primer lugar, definimos las funciones M( x, y) y N ( x, y), y comprobamos la
condicin de exactitud:
sage : var ( x , y )
sage : # definimos M y N
sage : M = sin ( x * y )+ x * y * cos ( x * y )
sage : N = x ^2* cos ( x * y )
sage : # comprobamos la exactitud
sage : diff (M , y ) - diff (N , x )
0
Como Sage ha calculado slo la primitiva ms simple, aadimos una funcin depen-
diente de la variable y:
sage : # sumamos una " constante " dependiente de y
sage : g = function ( g , y )
sage : EE = E + g ; expand ( EE )
x * sin ( x * y ) + g ( y )
(ntese que dg representa una ecuacin; para considerar su segundo miembro, que es
el valor obtenido para g(y), usamos la notacin dg[0].rhs()1 ). Por ltimo, definimos
el potencial E( x, y):
sage : # definimos el potencial
sage : E = E + g ; expand ( E )
x * sin ( x * y )
M( x, y)dx + N ( x, y)dy = 0.
r ( x, y) M( x, y)dx + r ( x, y) N ( x, y)dy = 0,
M e ( x, y)dy = 0,
e ( x, y)dx + N
donde M e ( x, y) = r ( x, y) M( x, y) y N
e ( x, y) = r ( x, y) N ( x, y). Si conseguimos determi-
nar r ( x, y) para que se verifique
M N
,
e e
=
y x
la nueva ecuacin ser exacta y podremos resolverla. Una funcin r ( x, y) con dicha
propiedad se denomina factor integrante.
1 Podemos dar una explicacin un poco ms tcnica de la notacin. El valor dg representa una lista
o conjunto de ecuaciones que, en este ejemplo, consta de un nico elemento, ya que slo estamos
considerando una ecuacin. Los elementos de una lista se enumeran comenzando con el ndice 0, por
eso dg[0] hace referencia al primer elemento de la lista. En lenguaje informtico, dg[0] es un objeto,
esto es, una estructura con determinados contenidos y aplicaciones (o mtodos) asociadas a ella. Para
acceder a los contenidos de un objeto se usa un punto (.) detrs del nombre del objeto. De esta forma,
dg[0].rhs denota un mtodo que devuelve el miembro de la derecha (rhs: right hand side, en ingls)
de la ecuacin representada por dg[0]; los parntesis vacos hacen que se ejecute dicho mtodo sin
ningn argumento extra. En general, si queremos ver los mtodos asociados a un objeto en Sage, basta
con escribir el nombre del objeto seguido de un punto y pulsar la tecla de tabulacin.
2.5 Factores integrantes 29
( x + y2 ) dx 2xy dy = 0.
M N
= ( x + y2 ) = 2y 6= 2y = (2xy) = ,
y y x x
y2
ln( x ) = C y2 = x (ln( x ) C ).
x
Est claro que la cuestin fundamental en este contexto es: cmo podemos deter-
minar un factor integrante? La respuesta es que no hay ningn mtodo general que
nos permita calcular factores integrantes: slo podemos dar una respuesta parcial al
problema. Notemos que el intento de calcular el factor integrante r ( x, y) directamente
a partir de la ecuacin de exactitud
M N
(rM) = (rN )
e e
=
y x y x
r M r N
M +r = N +r ,
y y x x
30 Ecuaciones diferenciales de primer orden
r ( x, y) = ( x ),
r ( x, y) = (y),
r ( x, y) = ( x y),
r ( x, y) = ( x n ym ), n, m Z,
r ( x, y) = ( xy),
r ( x, y) = ( x/y),
r ( x, y) = ( x n ym ), n, m Z,
..
.
r M r N M N
M +r = N +r ( x ) = N0 ( x ) + ( x ) ,
y y x x y x
0 ( x ) = g ( x ) ( x ),
siendo
1
M N
g( x ) = .
N y x
Para que este proceso tenga sentido, el miembro de la derecha de la expresin anterior
debe ser una funcin que slo dependa de la variable x. Resolviendo la ecuacin,
2.5 Factores integrantes 31
Por supuesto, el clculo explcito de ( x ) slo podr llevarse a cabo si sabemos calcu-
lar una primitiva de la funcin g( x ).
Si el factor integrante slo depende de la variable y, razonando de modo anlogo
llegamos a la siguiente expresin:
h(y)dy
R
(y) = e ,
donde
1
M N
h(y) = .
M y x
Ejemplo 2.15. Consideremos la ecuacin del ejemplo anterior:
( x + y2 ) dx 2xy dy = 0,
donde
1 1 2
M N
g( x ) = = (2y (2y)) = .
N y x 2xy x
Por tanto, el factor integrante buscado ser
2 2 )
x dx = e2 ln(x) = eln(x = x 2 .
R
( x ) = e
1 M N 1 2y
2 2
g( x ) = = 2
(4xy 9y ) (3y ) = (2x 3y).
N y x 7 3xy 7 3xy2
32 Ecuaciones diferenciales de primer orden
1 M N 2y 2
h(y) = = 2 3
(2x 6y) = .
M y x 2xy 3y y
x2 3xy 7y1 = C.
Finalizamos esta seccin con un ejemplo donde se juega con un factor integrante
algo ms complicado que los vistos en los ejemplos anteriores.
La prueba con los candidatos usuales a factor integrante no da buen resultado. En este
caso, el factor integrante a buscar es de la forma r ( x, y) = ( x + y2 ). Consideremos
pues la ecuacin modificada
r r
= 0 ( x + y2 ), = 2y0 ( x + y2 ),
x y
de donde
4y( x + y2 )0 ( x + y2 ) = 12y( x + y2 ) ( x + y2 )0 ( x + y2 ) = 3( x + y2 ).
2.6 Problemas de valor inicial 33
d dz
Z Z
0
z (z) = 3(z) = 3 ln() = 3 ln(z) = ln(z3 ) (z) = z3 .
z
r ( x, y) = ( x + y2 ) = ( x + y2 )3 .
y0 = f ( x, y),
Es posible representar grficamente esta solucin de forma muy simple. Si, por ejem-
plo, queremos dibujarla en el intervalo [0, 1], hacemos:
sage : plot ( sol , [0 , 1])
x2 + y2 = C,
y y
1
1
y= 1 x2
-1 1
x x
-1 0 1 0
y= 1 x 2
-1
-1
Figura 2.2: Las dos ramas de solucin para C = 1, definidas en I = (1, 1).
sage : var ( x )
sage : y = function ( y , x )
sage : ec = diff (y , x ) == -x / y
sage : desolve ( ec , y )
-1/2* y ( x )^2 == 1/2* x ^2 + c
Aun en el caso de que un problema de valor inicial tenga solucin, sta no tiene
por qu ser nica.
y0 = ( x + 1)y2/3 ,
(
y(1) = 0.
es solucin del problema. Por otra parte, notemos que la funcin idnticamente nula
y( x ) 0 tambin es solucin. Tenemos pues dos soluciones distintas del mismo
problema de valor inicial.
En este caso, Sage slo determina la solucin no nula:
sage : var ( x )
sage : y = function ( y ,x )
sage : ec = diff (y , x ) == ( x +1)* y ^(2/3)
sage : desolve ( ec , y , ics =[1 ,0])
3* y ( x )^(1/3) == 1/2* x ^2 + x - 3/2
2.6 Problemas de valor inicial 37
f
tiene alguna solucin local. Si adems existe y y es continua en un entorno de ( x0 , y0 ),
entonces la solucin del problema es nica.
Ejemplo 2.22. Consideremos el problema de Cauchy del ejemplo 2.20. En este caso,
la funcin
f ( x, y) = ( x + 1)y2/3
38 Ecuaciones diferenciales de primer orden
es continua en todo punto, por lo que el problema posee solucin. Sin embargo, no-
temos que
f 2 2x+1
( x, y) = ( x + 1)y1/3 =
y 3 3 3y
no es continua en (1, 0). No podemos por tanto aplicar el teorema para asegurar la
unicidad de solucin, sino que habra que analizar el problema como se hizo en el
ejemplo 2.19. De hecho, vimos que el problema de Cauchy posea dos soluciones
distintas.
2.7. Aplicaciones
2.7.1. Espejos parablicos
Nos planteamos el problema de determinar la forma que debe tener un espejo
para que los rayos reflejados por ste se concentren en un punto. Para simplificar el
problema, haremos las siguientes suposiciones:
4. La forma del espejo viene dada por una curva del tipo y( x ).
++ + = = 2.
2 2
2.7 Aplicaciones 39
(x,y)
y
x
0 x
y+ x 2 + y2 y x 2 + y2
p p
0 2 0 0 0
x (y ) 2yy x = 0 y = , y = .
x x
2.7 Aplicaciones 41
Es inmediato comprobar que las dos ecuaciones obtenidas son homogneas, as que
podemos resolverlas mediante el cambio z = y/x. En ambos casos, la solucin de la
ecuacin es la misma:
1
y = Cx2 ,
4C
donde, como es usual, C representa una constante arbitraria. En el caso en que C
sea positiva la solucin es una parbola convexa, mientras que si C es negativa la
parbola es cncava. En la figura 2.5 se representan los espejos que se obtienen para
C = 1.
donde ~ y ~ son los vectores de coordenadas unitarios (~ = (1, 0), ~ = (0, 1)), y P( x, y)
y Q( x, y) son funciones suficientemente regulares. Queremos desplazar una partcula
por el plano de forma que el campo de fuerzas no ejerza ningn trabajo sobre ella
en todos los puntos de la trayectoria. Las trayectorias que verifican esta propiedad se
conocen con el nombre de curvas equipotenciales.
Sea y( x ) la curva equipotencial buscada y sea el trabajo realizado por la fuerza
~F. Si llamamos ~e al vector de desplazamiento de la partcula (vector tangente a la
trayectoria), el trabajo puede expresarse como un producto escalar de ~F por ~e:
Aqu cos(~F, ~e) representa el ngulo formado por los vectores ~F y ~e, mientras que k k
es el mdulo del vector correspondiente. La condicin de que el trabajo sea nulo,
= 0, es equivalente a que cos(~F, ~e) = 0 o, lo que es lo mismo, a que los vectores ~F y
~e sean ortogonales: ~F ~e. A su vez, esta condicin equivale a que el producto de las
pendientes determinadas por ambos vectores sea 1.
En un punto arbitrario ( x, y( x )) de la curva equipotencial, la fuerza ejercida por el
campo viene dada por el vector
~F ( x, y( x )) = P( x, y( x ))~ + Q( x, y( x ))~,
Q( x, y( x ))
.
P( x, y( x ))
42 Ecuaciones diferenciales de primer orden
F e
(x,y)
dy P( x, y)
=
dx Q( x, y)
o, en forma diferencial,
P( x, y)dx + Q( x, y)dy = 0.
Se dice que un campo de fuerzas ~F es conservativo si deriva de un potencial, es
decir, si existe una funcin escalar E( x, y) tal que
E = ~F,
donde E es el vector gradiente de E,
E E
E = ~ + ~.
x y
E E
= P( x, y), = Q( x, y).
x y
2.7 Aplicaciones 43
E( x, y( x )) = C,
P( x, y)dx + Q( x, y)dy = 0.
P 2 E 2 E Q P Q
= = = = .
y y x x y x y x
Puede demostrarse (aunque eso est fuera del alcance de este curso) que, bajo de-
terminadas condiciones de regularidad sobre P( x, y) y Q( x, y) (que siempre se veri-
ficarn en los casos que trataremos), el recproco es asimismo cierto. En conclusin,
44 Ecuaciones diferenciales de primer orden
E
= Q( x, y),
y
lo cual, en general, no ser posible salvo en casos muy sencillos.
Observacin. El signo negativo en la definicin de funcin potencial obedece, como
hemos visto, a consideraciones de tipo puramente fsico. Desde un punto de vista ma-
temtico, dicho signo es irrelevante: por eso en la definicin de exactitud que hicimos
en la seccin 2.4 tomamos M = P y N = Q.
En el siguiente ejemplo se ilustra el clculo de una funcin potencial.
Ejemplo 2.24. El campo de fuerzas
~F ( x, y) = x~ y~
es conservativo, ya que
P Q
= ( x ) = 0 = (y) = .
y y x x
Para calcular una funcin potencial, planteamos el sistema
E
x = P( x, y) = ( x ) = x,
E
= Q( x, y) = (y) = y.
y
Tomemos una de las dos ecuaciones, por ejemplo la primera, e integremos respecto
de x:
x2
Z Z
E
E( x, y) = dx = x dx = + g ( y ).
x 2
Observemos que, al estar integrando la funcin de dos variables E( x, y) respecto de la
variable x, la constante de integracin que aparece no es realmente una constante,
sino una funcin de la variable y. En efecto, para cualquier funcin g(y) se verifica
x2
E
+ g(y) = x = x.
x 2 x
2.7 Aplicaciones 45
Para determinar g(y) recurrimos a la segunda ecuacin. Por una parte, derivando en
la expresin obtenida para E( x, y) respecto de y, obtenemos
x2
E
= + g(y) = g 0 ( y ).
y y 2
E(x,y)=C
x
y2
Z
g0 (y) = y g(y) = y dy = .
2
x 2 y2
E( x, y) = + .
2 2
x2 + y2 = C,
siendo C una constante arbitraria. En la figura 2.7 se representan las curvas equipo-
tenciales y el campo vectorial ~F.
46 Ecuaciones diferenciales de primer orden
El calor producido por las personas, luces, maquinaria, etc. en el interior del
edificio causan un incremento de la temperatura que denotaremos por H (t),
siendo esta funcin no negativa.
Por ltimo, hay que considerar el efecto de la temperatura exterior Te (t) sobre
el edificio. Factores experimentales muestran que este efecto puede modelizarse
usando la ley del enfriamiento de Newton, que establece que el ritmo de cambio de
la temperatura T (t) es proporcional a la diferencia entre la temperatura exterior
Te (t) y la interior T (t).
dT
= k( Te (t) T (t)) + H (t) + U (t).
dt
El ritmo de cambio de la temperatura T (t) se expresa mediante su derivada respecto
del tiempo, dT
dt . La constante de proporcionalidad k se supone positiva y depende de
las propiedades fsicas del edificio: nmero de puertas y ventanas, tipo de aislamiento,
etc.
En general, las funciones H (t) y U (t) se expresan en trminos de energa por unidad
de tiempo, kcal/h. Si embargo, multiplicando ambas cantidades por la capacidad ca-
lorfica del edificio (cuyas unidades son C/kcal), podemos suponer que tanto H (t)
como U (t) vienen dadas en C/h.
C 0 (t)ekt t)ekt =
kC( t)ekt + kTe (t) + H (t) + U (t)
kC(
Z
kt
0
C (t) = e (kTe (t) + H (t) + U (t)) C (t) = ekt (kTe (t) + H (t) + U (t)) dt,
de donde Z
kt
TP (t) = e ekt (kTe (t) + H (t) + U (t)) dt.
Por ltimo, la solucin general de la ecuacin completa ser
Z
kt kt
T (t, C ) T (t) = e e (kTe (t) + H (t) + U (t)) dt + C .
esto es, se supone que la temperatura exterior cambia de forma sinusoidal en un pe-
rodo de 24 horas, con su mnimo en t = 0 (medianoche) y su mximo en t = 12
(medioda). Supongamos asimismo que k = 12
h1 , por lo que la constante de tem-
peratura del edificio, 1/k, es aproximadamente de cuatro horas. La situacin descrita
podra corresponder a la primavera, cuando no usamos ni la calefaccin ni el aire
acondicionado y las variaciones de temperatura son suaves.
En este caso, la temperatura interior del edificio viene dada por la siguiente fun-
cin:
Z
kt kt
T (t) = e e (kTe (t) + H0 ) dt + C
Z Z
kt kt kt
=e 7k e cos 12 t dt + (23k + H0 ) e dt + C .
En la figura 2.8 se muestran las evoluciones de las temperaturas interior y exterior del
edificio durante un perodo de 24 horas.
Damos a continuacin un cdigo Sage para resolver el problema y representar
grficamente tanto la solucin T (t) como la evolucin de la temperatura exterior Te (t).
sage : var ( t )
sage : k = pi /12
sage : Te = 23 -7* cos ( pi * t /12)
sage : H = pi /48
sage : U = 0
sage : T = function ( T , t )
sage : ec = diff (T , t ) == k *( Te - T ) + H + U
sage : sol = desolve ( ec , T , ics =[0 , 20])
sage : expand ( sol )
1/4* e ^( -1/12* pi * t ) - 7/2* sin (1/12* pi * t ) - 7/2* cos (1/12* pi * t ) + 93/4
sage : # Dibujamos
sage : fig1 = plot ( sol , t , 0 , 24 , color = blue ,
legend_label = Temp . interna ) # figura para T
sage : fig2 = plot ( Te , t , 0 , 24 , color = red ,
legend_label = Temp . externa ) # figura para Te
sage : fig = fig1 + fig2 # unimos ambas figuras
sage : show ( fig ) # mostramos el resultado
Como vemos, los resultados son consistentes con la representacin grfica de la solu-
cin.
50 Ecuaciones diferenciales de primer orden
CAPTULO
ECUACIONES DIFERENCIALES DE
ORDEN SUPERIOR
3.1. Introduccin
Una ecuacin diferencial ordinaria de orden n es una ecuacin que relaciona una va-
riable independiente x con una variable dependiente y y( x ) y sus derivadas hasta
el orden n. Su forma general es la siguiente:
y00 = 4y.
52 Ecuaciones diferenciales de orden superior
Dada una ecuacin diferencial de orden n (que supondremos escrita en forma nor-
mal), podemos complementarla con n condiciones iniciales que establecen los valores
que deben tomar la solucin y sus derivadas en un cierto punto. Estamos entonces
ante lo que se denomina un problema de valores iniciales o problema de Cauchy. Su forma
es la siguiente:
y(n) = f ( x, y, y0 , . . . , y(n1) ), x [ a, b],
y ( a ) = y0 ,
y 0 ( a ) = y1 ,
..
.
y ( n 1) ( a ) = y ,
n 1
3.1 Introduccin 53
donde y0 , y1 , . . . , yn1 son datos del problema. Ntese que un problema de valores
iniciales posee, en general, solucin nica. Para determinarla, primero se obtiene la
solucin general de la ecuacin, que depender de n constantes arbitrarias, y luego se
determina el valor de las constantes utilizando las condiciones iniciales.
y = C1 sen(2x ) + C2 cos(2x ).
Por tanto, la nica solucin del problema del problema de valores iniciales es
y = cos(2x ).
y00 = F ( x, y0 ),
z0 = F ( x, z),
y00 = 2y0 ,
z0 = 2z.
y( x ) = C1 e2x + C2 .
xy00 = y0 + (y0 )3 .
xz0 = z + z3 ,
dz dx 1
Z Z
= ln(z) ln(z2 + 1) = ln( x ) + C,
z + z3 x 2
donde C es una constante de integracin. Para poder deshacer el cambio z = y0 es
necesario despejar z en la expresin anterior. Para ello, tengamos en cuenta que
s
1 z2
ln(z) ln(z2 + 1) = ln z2 ln z2 + 1 = ln
p
.
2 z2 + 1
Por tanto,
s s
z2 z2 z2
ln = ln( x ) + C = e C
x = C1 x2 ,
z2 + 1 2
z +1 2
z +1
C1 x
z= q .
1 C12 x2
C1 x C1 x 1
Z q
y0 = z = q y= dx = 1 C12 x2 + C2 .
C1
q
1 C12 x2 1 C12 x2
Ejemplo 3.6. La curva que forma una cuerda inextensible que cuelga libremente entre
dos puntos fijos se denomina catenaria (del latn catena, cadena). Dicha curva puede
obtenerse como solucin del problema de valores iniciales
1
q
00 0 2
y = a 1 + (y ) ,
y(0) = a,
0
y (0) = 0,
que resulta al considerar las fuerzas que actan sobre la cuerda (no entraremos en
detalles).
x x
Z
y = senh + C1 dx = a cosh + C1 + C2 .
a a
d 0 dz dz dy dz
y00 = (y ) = = =z .
dx dx dy dx dy
Por tanto,
dz
y00 = F (y, y0 ) z = F (y, z).
dy
Hemos obtenido as una ecuacin de primer orden en las variables (y, z).
yy00 + (y0 )2 = 0,
dz dz
yz + z2 = 0 y = z.
dy dy
dz dy C
Z Z
= z = 1.
z y y
58 Ecuaciones diferenciales de orden superior
dy C y2
Z Z
= y0 = z = 1 y dy = C1 dx = C1 x + C2 .
dx y 2
y( x, C1 , C2 ) = y H ( x, C1 , C2 ) + y P ( x ),
no puede ser la solucin general de la ecuacin diferencial. Para verlo, basta con notar
que el problema de valores iniciales
00
y = y,
y(0) = 1,
0
y (0) = 0,
y(0) = C sen 0 = 0,
C1 y1 ( x0 ) + C1 y2 ( x0 ) = y0 ,
(
Para que el problema de valores iniciales tenga solucin nica, las constantes C1 y C2
deben poder determinarse de manera nica, es decir, el sistema lineal anterior debe
ser compatible determinado. Esto equivale a decir que el determinante de la matriz
de coeficientes no es nulo:
y1 ( x0 ) y2 ( x0 )
y0 ( x0 ) y0 ( x0 ) 6= 0.
1 2
En resumen, el problema de valores iniciales tendr solucin nica de la forma y =
C1 y1 + C2 y2 si y slo si se verifica la condicin anterior. Como los datos x0 , y0 e y00
eran arbitrarios, podemos afirmar que y = C1 y1 + C2 y2 es la solucin general de la
ecuacin homognea si y slo si
y1 ( x ) y2 ( x )
W (y1 , y2 )( x ) 0 6= 0, x R.
y1 ( x ) y20 ( x )
y = C1 sen( x ) + C2 cos( x ).
3.3 Ecuaciones lineales de segundo orden 61
y H ( x, C1 , C2 ) = C1 y1 ( x ) + C2 y2 ( x ),
y1 ( x ) y2 ( x )
W (y1 , y2 )( x ) = 0 6= 0, x R.
y1 ( x ) y20 ( x )
y = C1 y1 ( x ) + C2 y2 ( x ) + y P ( x ), C1 , C2 R.
y00 + py0 + qy = r ( x ),
el mtodo de variacin de las constantes (seccin 3.5), que puede aplicarse para
cualquier funcin r ( x ), aunque los clculos a realizar pueden ser complicados;
y00 + py0 + qy = 0,
donde p, q R.
Se define el polinomio caracterstico de la ecuacin como
P() = 2 + p + q,
2 + p + q = 0.
ya que P(i ) = 0 por ser i raz del polinomio caracterstico; esto prueba que cada yi
es solucin de la ecuacin homognea. Adems, teniendo en cuenta que 1 6= 2 ,
x
e 1 e2 x
W ( y 1 , y 2 ) = 1 x = (2 1 )e(1 +2 )x 6= 0, x R.
1 e 2 e 2 x
y = C1 e1 x + C2 e2 x .
3.4 Ecuaciones lineales homogneas con coeficientes constantes 63
y00 5y0 + 6y = 0.
y = C1 e3x + C2 e2x .
y1 ( x ) = ex , y2 ( x ) = xex
y = C1 ex + C2 xex = (C1 + C2 x ) ex .
y00 2y0 + y = 0.
y = (C1 + C2 x ) e x .
sage : var ( x )
sage : y = function ( y , x )
sage : ec = diff (y , x , 2) - 2* diff (y , x ) + y == 0
sage : desolve ( ec , y )
( k2 * x + k1 )* e ^ x
y1 ( x ) = e ax cos(bx ), y2 ( x ) = e ax sen(bx ).
:1
2ax 2 cos (bx )) = be2ax 6 = 0, x R,
2
= be (sen (bx
)+
deducimos que la solucin general de la ecuacin viene dada por
y00 + 2y0 + 5y = 0.
y00 + py0 + qy = r ( x ),
y H ( x, C1 , C2 ) = C1 y1 ( x ) + C2 y2 ( x ),
y P ( x ) = C1 ( x )y1 ( x ) + C2 ( x )y2 ( x ),
cuyas incgnitas son C10 ( x ) y C20 ( x ). Este sistema es compatible determinado, ya que
el determinante de la matriz de coeficientes coincide con el wronskiano W (y1 , y2 ), que
no se anula en ningn punto x R por ser {y1 , y2 } un sistema fundamental de solu-
ciones. En consecuencia, el sistema admite una nica solucin que puede calcularse
mediante la regla de Cramer:
0 y x y1 ( x ) 0
2 ( )
0
r ( x ) y ( x ) 0
y ( x ) r ( x )
y2 ( x )r ( x ) y ( x )r ( x )
0
C1 ( x ) = 2
= , 0
C2 ( x ) = 1
= 1 .
y1 ( x ) y2 ( x ) W ( y1 , y2 ) y1 ( x ) y2 ( x )
W ( y1 , y2 )
y0 ( x ) y0 ( x ) y0 ( x ) y0 ( x )
1 2 1 2
y00 4y = e x .
y H ( x, C1 , C2 ) = C1 e2x + C2 e2x ,
y P ( x ) = C1 ( x )y1 ( x ) + C2 ( x )y2 ( x ),
3.5 Mtodo de variacin de las constantes 67
y2 ( x )r ( x ) e2x e x
Z Z Z
C1 ( x ) = dx = dx = 41 e x dx = 41 e x ,
W ( y1 , y2 ) 4
Z 2x x
y1 ( x )r ( x ) e e
Z Z
C2 ( x ) = dx = dx = 4 e3x dx = 12
1 1 3x
e .
W ( y1 , y2 ) 4
y P ( x ) = 14 e x e2x 1 3x 2x
12 e e = 13 e x .
y( x ) = C1 e2x + C2 e2x 13 e x .
1
y00 + y = .
sen( x )
y H ( x, C1 , C2 ) = C1 sen( x ) + C2 cos( x ),
sen( x ) cos( x )
:1
2 2
W ( y1 , y2 ) = = (sen ( x) + cos ( x )) = 1.
cos( x ) sen( x )
68 Ecuaciones diferenciales de orden superior
y P ( x ) = C1 ( x ) sen( x ) + C2 ( x ) cos( x ),
donde
y2 ( x )r ( x ) cos( x )
Z Z
C1 ( x ) = dx = dx = ln(sen( x )),
W ( y1 , y2 ) sen( x )
y1 ( x )r ( x )
Z Z
C2 ( x ) = dx = (1)dx = x.
W ( y1 , y2 )
En consecuencia,
y P ( x ) = ln(sen( x )) sen( x ) x cos( x ).
Por ltimo, la solucin general de la ecuacin completa viene dada por
Ser capaz Sage de obtener la solucin de la ecuacin en este caso? Claro que s:
sage : var ( x )
sage : y = function ( y , x )
sage : ec = diff (y , x , 2) + y == 1/ sin ( x )
sage : desolve ( ec , y )
k1 * sin ( x ) + k2 * cos ( x ) - x * cos ( x ) + log ( sin ( x ))* sin ( x )
y H ( x ) = C1 sen( x ) + C2 cos( x ),
y00 + py0 + qy = r ( x ).
I. r ( x ) = Ae ax , a, A R;
IV. r ( x ) es un polinomio;
V. r ( x ) es una suma formada por trminos que estn en alguno de los casos ante-
riores.
P() = 2 + p + q.
y P ( x ) = Mx m e ax .
y00 y = e4x .
y H ( x ) = C1 e x + C2 e x .
e4x
yP (x) = .
15
Por ltimo, la solucin general ser
e4x
y( x ) = C1 e x + C2 e x + .
15
Ejemplo 3.17. Resolvamos la ecuacin
y00 y = e x .
Al igual que en el ejemplo anterior, las races del polinomio caracterstico son = 1,
por lo que y H ( x ) = C1 e x + C2 e x .
Ahora a = 1 es raz simple del polinomio caracterstico (m = 1), por lo que la
solucin particular habr que buscarla en la forma
y P ( x ) = Mxe4x .
y00P y P = e x M (2 + x )e x Mxe x = e x 2M = 1 M = 12 ,
de donde
x x
yP (x) = e .
2
La solucin general de la ecuacin es pues
x
y( x ) = C1 e x + C2 e x + e x .
2
3.6 Mtodo de coeficientes indeterminados 71
y00 + 2y0 + y = e x .
y P ( x ) = Mx2 e x .
2Me x = e x 2M = 1 M = 21 .
En conclusin,
x2 x
yP (x) = e .
2
Por ltimo, la solucin general de y00 + 2y0 + y = e x ser
x2 x
y( x ) = (C1 + C2 x )e x + e .
2
y P ( x ) = M1 cos(2x ) + M2 sen(2x ).
72 Ecuaciones diferenciales de orden superior
4M2 3M1 = 1
3 4
M1 = 25 , M2 = 25 .
4M1 + 3M2 = 0
y( x ) = (C1 + C2 x )e x 3
25 cos(2x ) + 4
25 sen(2x ).
y00 + y = cos( x ).
2M2 = 1 M2 = 12 ,
(42M1 + 35M2 )e2x cos(7x ) + (35M1 42M2 )e2x sen(7x ) = e2x cos(7x ).
42M1 + 35M2 = 1
M1 = 35242
+422
, M2 = 35
352 +422
.
35M1 42M2 = 0
Hemos determinado as la siguiente solucin particular:
35 sen(7x ) 42 cos(7x )
y P ( x ) = e2x .
352 + 422
Por ltimo, la solucin general de la ecuacin ser
35 sen(7x ) 42 cos(7x )
3 3
y( x ) = e x/2
C1 cos 2 x + C2 sen 2 x + e2x .
352 + 422
74 Ecuaciones diferenciales de orden superior
y P ( x ) = x m Q d ( x ),
Las races del polinomio caraterstico son = 1 2i, as que la solucin de la ecuacin
homognea ser y H ( x ) = e x (C1 cos(2x ) + C2 sen(2x )).
Teniendo en cuenta que el trmino independiente es un polinomio de grado d = 2
y que 0 no es raz del polinomio caracterstico (m = 0), buscaremos una solucin
particular de la forma
y P ( x ) = Ax2 + Bx + C,
esto es, un polinomio de segundo grado cuyos coeficientes debemos determinar por
sustitucin. Calculamos y0P ( x ) = 2Ax + B, y00P ( x ) = 2A y sustituimos en la ecuacin
completa:
5Ax2 + (4A + 5B) x + 2A 2B + 5C = 25x2 + 12.
Igualamos los coeficientes de los trminos del mismo orden:
5A = 25
4A + 5B = 0 A = 5, B = 4, C = 2.
2A 2B + 5C = 12
Por tanto,
y P ( x ) = 5x2 + 4x + 2.
La solucin general de la ecuacin y00 2y0 + 5y = 25x2 + 12 es, por tanto,
6A 4B = 7 A = 1, B = 13 23
4, C = 4,
2B 2C = 5
de donde
x
y P ( x ) = (4x2 + 13x + 23).
4
Para terminar, escribimos la solucin general de la ecuacin:
x
y( x ) = C1 + C2 e2x (4x2 + 13x + 23).
4
Observacin. En el caso en que el valor 0 sea raz doble del polinomio caracterstico
(m = 2), la ecuacin a resolver adopta la forma y00 = r ( x ), que puede resolverse
mediante integracin directa.
V. r ( x ) es una suma de trminos que estn en los casos anteriores. Supongamos que
r ( x ) es de la forma
r ( x ) = r1 ( x ) + r2 ( x ) + + r s ( x ),
donde cada ri ( x ), i = 1, . . . s, est en uno de los casos I-IV. Podemos calcular entonces
una solucin particular yi ( x ) para cada una de las ecuaciones
y00 + py0 + qy = ri ( x ), i = 1, . . . , s.
Pues bien, una solucin particular de la ecuacin
y00 + py0 + qy = r ( x )
es la suma de las soluciones particulares anteriormente obtenidas:
y ( x ) = y1 ( x ) + y2 ( x ) + + y s ( x ).
76 Ecuaciones diferenciales de orden superior
00 0
y + p ( x ) y + q ( x ) y = r ( x ), x [ a, b],
y ( a ) = y0 ,
0
y ( a ) = y1 ,
00 0
y 6y + 9y = 0,
y(0) = 1,
0
y (0) = 0.
y = (C1 + C2 x )e3x .
y = (1 3x )e3x .
Usemos Sage para resolver el problema y dibujar la solucin en el intervalo [0, 1]:
sage : var ( x )
sage : y = function ( y , x )
sage : ec = diff (y , x , 2) - 6* diff (y , x ) + 9* y == 0
sage : sol = desolve ( ec , y , ics =[0 , 1 , 0]) # ics =[ a , y0 , y1 ]
sage : sol
-(3* x - 1)* e ^(3* x )
sage : plot ( sol , 0 , 1)
78 Ecuaciones diferenciales de orden superior
00 0
y + p ( x ) y + q ( x ) y = r ( x ), x [ a, b],
y( a) = ,
y(b) = ,
00 1
y + 4 y = 0, x [0, ],
y(0) = 1,
y( ) = 1.
:1 :0
y (0) = 1 C
1 cos 0 + C2 sen 0= 1 C1 = 1,
y( ) = 1 C cos 0 *1
+ C sen
= 1 C = 1.
*
1 2 2 2 2
y = C1 cos( x ) + C2 sen( x ).
y = y H + yP ,
y1 ( x ) y2 ( x ) yn ( x )
0
y1 ( x ) y20 ( x ) y0n ( x )
00 00
W ( y1 , . . . , y n ) = y1 ( x ) y2 ( x )
y00n ( x ) 6= 0, x R.
.. .. .. ..
. .
(n1) (n.1) .
( n 1)
y y2 y
1 n
y H ( x ) = C1 y1 ( x ) + C2 y2 ( x ) + + Cn yn ( x ),
P ( ) = n + a n 1 n 1 + + a 2 2 + a 1 + a 0 .
a cada raz del polinomio caracterstico le asociaremos una o varias soluciones parti-
culares, atendiendo a la naturaleza de dicha raz:
y H ( x ) = C1 y1 ( x ) + C2 y2 ( x ) + + Cn yn ( x ).
4 + 82 + 16 = 0 2 + 8 + 16 = 0 = 4 (doble).
Por tanto, = = 4 = 2i, siendo estas races complejas dobles.
A la raz doble = 0 le corresponden las soluciones e0x = 1 y xe0x = x, mien-
tras que a las races dobles 2i les asociamos las soluciones e0x cos(2x ) = cos(2x ),
x cos(2x ), sen(2x ) y x sen(2x ). En consecuencia, la solucin general de la ecuacin
ser
y0 (0) = 0,
y00 (0) = 0.
y( x ) = C1 e x + C2 e2x + C3 e3x .
3.8 Ecuaciones lineales de orden superior 83
y(0) = 1 C1 + C2 + C3 = 1
y( x ) = 3e2x 2e3x .
y H ( x ) = C1 e x + C2 e2x + C3 e3x .
84 Ecuaciones diferenciales de orden superior
y( x ) = C1 e x + C2 e2x + C3 e3x e x 24
1 13
x + 288 .
y P ( x ) = x m Q d ( x ),
y000 y00 + y0 y = x2 x.
y P ( x ) = Ax2 + Bx + C.
y( x ) = C1 e x + C2 cos( x ) + C3 sen( x ) x2 x + 1.
III. r ( x ) es suma de trminos que estn en los dos casos anteriores. La solucin parti-
cular se construye sumando las soluciones particulares que se obtienen considerando
cada uno de los sumandos por separado, segn hemos establecido en los casos I y II.
3.9. Aplicaciones
3.9.1. Vibraciones mecnicas
Vamos a estudiar la ecuacin diferencial que rige el desplazamiento de un medio
deformable, como puede ser un muelle, un mstil, un edificio, etc.
Representemos por x (t) al desplazamiento del medio respecto de la posicin de
equilibrio, en el instante de tiempo t, y sea m su masa. El origen de coordenadas se
establece en la posicin de equilibrio y se supone que el movimiento hacia la derecha
corresponde a valores positivos del desplazamiento.
Supondremos que sobre el medio actan tres tipos de fuerzas:
Fuerzas que no son intrnsecas al sistema, sino que obedecen a causas externas
(por ejemplo, la accin de un terremoto). Nos referiremos a ellas como fuerzas
externas y las denotaremos por g(t).
La segunda ley de Newton nos dice que el producto de la masa por la aceleracin
es igual a la resultante de fuerzas que actan sobre el sistema. Teniendo en cuenta
que x 00 (t) representa la aceleracin del medio, obtenemos entonces:
c 0 k g(t)
mx 00 = kx cx 0 + g(t) x 00 + x + x= .
m m m
Ser conveniente escribir la ecuacin en la forma
x 00 + 2x 0 + 2 x 0 = F (t),
q
k a g(t)
donde = m , = 2m y F ( t ) = m . Se trata pues de una ecuacin diferencial de
segundo orden, lineal y de coeficientes constantes. En caso de que no acten fuerzas
exteriores, F (t) 0, la ecuacin es adems homognea.
Para completar el sistema, debemos considerar condiciones iniciales de la forma
(
x (0) = x0 ,
x 0 (0) = v0 ,
00 0
x + 4x + 5x = 0,
x (0) = 0,
0
x (0) = 5.
x (t) = 5 sen(t)e2t ,
que representa una curva sinusoidal cuyas amplitudes tienden a cero. La grfica de la
solucin se representa en la figura 3.3, donde puede observarse cmo las oscilaciones
se amortiguan con el paso del tiempo y el mstil tiende hacia su posicin de equilibrio.
La figura 3.3 se ha obtenido con el siguiente cdigo Sage:
sage : var ( t )
sage : x = function ( x , t )
sage : ec = diff (x , t , 2) + 4* diff (x , t ) + 5* x == 0
sage : sol = desolve ( ec , x , ics =[0 , 0 , -5]); sol
-5* e ^( -2* t )* sin ( t )
sage : plot ( sol , 0 , 5)
x ( t ) = v0 t + x0 , t > 0.
Caso 3. Slo acta la fuerza de rozamiento: > 0, = 0. De nuevo tenemos una ecua-
cin homognea:
x 00 + 2x 0 = 0.
Las races de la ecuacin caracterstica 2 + 2 = 0 son 1 = 0 y 2 = 2. Por
tanto, la solucin general ser
x (t) = C1 e0t + C2 e2t = C1 + C2 e2t .
v0 v0
A partir de las condiciones iniciales, obtenemos C1 = x0 + y C2 = . Por tanto,
2 2
la solucin buscada es
v0
x ( t ) = x0 + (1 e2t ), t > 0.
2
Observemos que
v0
lm x (t) = x0 + ,
t 2
v0
lo que significa que el mvil se ir acercando a la posicin x0 + 2 (que estar a la
derecha o a la izquierda de x0 , segn si v0 > 0 o v0 < 0). En la figura 3.5 se representa
la trayectoria del mvil para x0 = 0, v0 = 1 y = 1. Notemos que si v0 = 0, el mvil
permanece en el mismo lugar en cada instante ya que, al no tener velocidad inicial,
no hay nada que lo obligue a cambiar de posicin.
por lo que la naturaleza de las soluciones depender del signo de 2 2 . Por simpli-
cidad, supondremos que la velocidad inicial es nula: v0 = 0 (esta suposicin no resta
generalidad a las deducciones que haremos). Hay tres casos para analizar:
lm x (t) = 0.
t
Dicho de otra forma, el mvil tiende a la posicin de equilibrio. Surge una cuestin
natural: pasa el mvil alguna vez por la posicin de equilibrio, en un tiempo T finito?
Para responder a esta pregunta, basta con ver si la ecuacin x ( T ) = 0 tiene alguna
solucin real T > 0:
1
2 T 1 T 1
x ( T ) = 0 1 e = 2 e T= ln .
1 2 2
Notemos que 1 /2 > 0, por ser ambas races negativas; esto hace que ln(1 /2 )
tenga sentido. Sin embargo, 2 < 1 < 0 1 /2 < 1 ln(1 /2 ) < 0. Como 1
2 = 2 2 2 > 0, deducimos que T < 0, lo cual no es un resultado aceptable. En
p
Caso 4C. Movimiento elstico subamortiguado: > . En este caso 2 2 < 0, por
lo que las races del polinomio caracterstico son de la forma = i 2 2 . La
p
| x0 |
q
0 6 | x (t)| 6 p e ( 2 2 + ).
t
2 2
Como e t 0 cuando t , deducimos que lm | x (t)| = 0, de donde
t
lm x (t) = 0.
t
Veamos si el mvil pasa por la posicin de equilibrio en algn tiempo finito T > 0:
sen( T 2 2 ) 2 2
q p p
2 2
x ( T ) = 0 tg( T ) = = .
cos( T 2 2 )
p
3.9 Aplicaciones 93
cin x ( T ) = 0 son
k
Tk = T0 + p , k = 0, 1, 2, . . .
2 2
En este caso, la ecuacin x ( T ) = 0 admite infinitas soluciones positivas. La inter-
pretacin fsica es sencilla: conforme avanza el tiempo, el mvil tiende a la posicin
de equilibrio pero oscilando alrededor de sta; al aumentar el tiempo disminuye la
amplitud de dichas oscilaciones. En la figura 3.7 se representa la solucinx (t) corres-
pondiente a x0 = 1, = 2 y = 1; notemos que, en este caso, | x (t)| 6 1+ 3 et .
3
Figura 3.7: Grfica de x (t) en el caso 4C. Las lneas discontinuas son las funciones 1+3 3 et .
00 2
x + x = cos(t),
x (0) = 0,
0
x (0) = 0.
Las races del polinomio caracterstico son = i, por lo que debemos distinguir
dos casos:
94 Ecuaciones diferenciales de orden superior
= 1/2 =1
= 1,2 == 2
Figura 3.8: Problema con fuerza peridica externa: soluciones obtenidas para distintos valores
del parmetro . El fenmeno de resonancia puede apreciarse en la ltima figura.
y(0) = 0,
y( L) = 0,
En este caso la ecuacin diferencial puede resolverse mediante una doble integra-
w
cin. Si llamamos = 2EI , resulta que
Z
2
00
y ( x ) = x ( L x ) y ( x ) = 0
x ( L x ) dx y0 ( x ) = 1
2 Lx 13 x3 + C1 ,
sage : var ( x )
sage : # datos del problema
sage : L = 2
sage : E = 2 e11
sage : I = 7.85 e -9
sage : w = 95.54
sage : y = function ( y , x )
sage : sol = desolve ( diff (y , x , 2) == -w /(2* E * I )* x *( L - x ) , y ,
ics =[0 , 0 , L , 0]); sol
372/146713* x ^4 - 1488/146713* x ^3 + 2976/146713* x
sage : plot ( - sol , 0 , L )
EIy(3) ( x ) = wx + C1 ;
EIy00 ( x ) = 21 wx2 + C1 x + C2 ;
EIy0 ( x ) = 16 wx3 + 12 C1 x2 + C2 x + C3 ;
Ejemplo 3.36. Por ejemplo, si consideramos una viga en voladizo, con el extremo
x = 0 fijo y el extremo x = L libre, tendramos las siguientes condiciones de contorno:
Es decir, la derivada slo se anula en x = 0, que es el extremo fijo. Esto nos indica que
la funcin y( x ) es estrictamente creciente, por lo que la deflexin mxima se producir
en el extremo x = L y ser:
w 4
ymax = y( L) = L .
8EI
A continuacin vamos a estudiar el problema del pandeo de una viga. Para ello,
consideremos una viga situada en vertical y fijada por sus extremos, a la que se aplica
una carga P en uno de ellos. En tal caso, la forma de la viga y( x ) puede obtenerse
como solucin del problema de contorno
P
00
y ( x ) = EI y( x ), x [0, L],
y(0) = 0,
y( L) = 0,
P
Llamando = EI , la ecuacin diferencial puede escribirse como
y00 + y = 0.
P n2 2
= 2 ,
EI L
donde n es un natural arbitrario. Sin embargo, como estamos interesados en el valor
mnimo para el que se produce el pandeo, tomaremos n = 1.
2 EI
Observacin. A la primera carga que provoca la deformacin de la viga, P = L2
, se
la conoce con el nombre de primera carga crtica o carga de pandeo de Euler.
El problema de contorno posee pues infinitas soluciones, de la forma
y( x ) = C sen x , 0 6= C R.
L
100 Ecuaciones diferenciales de orden superior
SISTEMAS DE ECUACIONES
DIFERENCIALES
4.1. Introduccin
Un sistema de ecuaciones diferenciales de orden n est formado por n ecuaciones dife-
renciales de primer orden en forma normal, esto es,
y10 = f 1 ( x, y1 , . . . , yn ),
y0 = f ( x, y , . . . , yn ),
2 2 1
.
.
.
0
yn = f n ( x, y1 , . . . , yn ),
sage : var ( x )
sage : y1 = function ( y1 , x )
sage : y2 = function ( y2 , x )
sage : ec1 = diff ( y1 , x ) == - y2
sage : ec2 = diff ( y2 , x ) == y1
sage : desolve_system ([ ec1 , ec2 ] , [ y1 , y2 ])
[ y1 ( x ) == - sin ( x )* y2 (0) + cos ( x )* y1 (0) ,
y2 ( x ) == sin ( x )* y1 (0) + cos ( x )* y2 (0)]
En este caso, y1(0) representa la constante arbitraria C1 , mientras que y2(0) equivale
a C2 . El porqu de esta notacin quedar claro en el siguiente ejemplo.
con y1 , y2 , . . . , yn R.
4.1 Introduccin 103
Y 0 = AY,
donde
y1 y10 a11 a12 a1n
y2 y0 a
2 21 a22 a2n
Y = . , Y0 = . , A= . .. .. .. .
.. .. .. . . .
yn y0n an1 an2 ann
El estudio de sistemas no lineales est fuera del alcance del presente trabajo, ya que
necesita del uso de herramientas avanzadas de Anlisis Matemtico. Por ello, restrin-
giremos nuestro estudio a sistemas de ecuaciones lineales de coeficientes constantes.
Adems, por simplicidad, nos centraremos en sistemas de orden dos.
En el caso particular de sistemas de dos ecuaciones (n = 2) es usual denotar la
variable independiente por t (en lugar de x) y las variables dependientes por x e y (en
lugar de y1 e y2 ). Asimismo, para sistemas con tres ecuaciones (n = 3) se suelen usar
las variables x, y y z en lugar de y1 , y2 e y3 . A partir de ahora seguiremos este criterio.
4.1 Introduccin 105
donde x x (t), y y(t) y los coeficientes a, b, c y d son nmeros reales. A veces ser
conveniente escribir el sistema en forma matricial:
X 0 = AX,
donde
x (t) x 0 (t) a b
0
X (t) = , X (t) = y A= .
y(t) y0 (t) c d
El siguiente resultado permite asegurar la existencia y unicidad de solucin para
un problema de valores iniciales.
Teorema. Si ( x1 (t), y1 (t)) y ( x2 (t), y2 (t)) son soluciones particulares del sistema tales que
x1 ( t ) x2 ( t )
W (t) = 6= 0, t R,
y1 ( t ) y2 ( t )
d
x = ax + b cx + ( x 0 ax )
00 0
= ( a + d) x 0 + (bc ad) x.
b
x 00 tr( A) x 0 + det( A) x = 0.
x 00 + px 0 + qx = 0,
definimos y = x 0 . Entonces
y0 = x 00 = px 0 qx = py qx.
x 00 = x 0 + y0 ,
x 00 = x 0 + 2x y.
y = x 0 x,
108 Sistemas de ecuaciones diferenciales
x 00 = x 0 + 2x ( x 0 x ) = 3x x 00 3x = 0.
00
x 3x = 0,
x (0) = 1,
0
x (0) = 0,
Ejemplo 4.5. Resolvamos el problema de Cauchy del ejemplo anterior. Habamos pa-
sado del sistema (
x 0 = x + y,
y0 = 2x y,
a la ecuacin de segundo orden
x 00 3x = 0.
La ecuacin caracterstica asociada es 2 3 = 0, cuyas races son = 3. Por
tanto, la solucin general de la ecuacin ser
3t 3t
x (t) = C1 e + C2 e .
Como en la primera ecuacin tan slo aparece la variable x, podemos resolverla di-
rectamente. Separando variables, resulta
dx
Z Z
x 0 = 2x = 2 dt x (t) = C1 e2t .
x
Ahora sustituimos x (t) en la segunda ecuacin, para obtener as una ecuacin lineal:
y0 = C1 e2t y.
y H (t) = C2 et .
x (t) = C1 e2t ,
y(t) = C1 e2t + C2 et ,
3
forman la solucin general del sistema.
4.3 Mtodo de autovalores 111
En tal caso, al construir la ecuacin de segundo orden habr que aplicar el mtodo
de variacin de las constantes o el de coeficientes indeterminados para hallar una
solucin particular de la misma.
X 0 = AX,
donde
x (t) x 0 (t) a b
0
X (t) = , X (t) = y A= .
y(t) y0 (t) c d
Diremos que un valor C es un autovalor de la matriz A si existe un vector no
nulo v R2 tal que
Av = v.
Un vector v con esta propiedad es un autovector asociado al autovalor .
( A I )v = 0,
112 Sistemas de ecuaciones diferenciales
det( A I ) = 0.
Para calcular un autovector v = asociado a , hemos de resolver el sistema
asociado:
(
1 1 (1 ) + = 0,
( A I )v = 0 =0
2 1 2 (1 + ) = 0.
1 1
v1 = , v2 = .
31 31
Para calcular los autovalores de una matriz A en Sage, primero definimos dicha
matriz usando el comando matrix y luego accedemos a su mtodo eigenvalues:
4.3 Mtodo de autovalores 113
El resultado es una lista con dos elementos, escritos entre parntesis y separados
por una coma. En cada uno de estos elementos, el primer valor es un autovalor, el
segundo es un autovector asociado, y el tercero representa la multiplicidad algebraica
del autovalor.
x (t) = 1 C1 e1 t + 2 C2 e2 t ,
(
y(t) = 1 C1 e1 t + 2 C2 e2 t ,
x i ( t ) = i e i t ,
(
y i ( t ) = i e i t .
x 1 ( t ) x 2 ( t ) 1 e 1 t 2 e 2 t
( 1 + 2 ) t 1 2
W (t) = =e 6= 0,
= 1 t t
y1 ( t ) y2 ( t ) 1 e 2 e
2 1 2
x (t) = 1 C1 e1 t + 2 C2 e2 t ,
(
y(t) = 1 C1 e1 t + 2 C2 e2 t ,
(2 + 6) = 0.
4.3 Mtodo de autovalores 115
1 1
v1 = , v2 = .
1 4
II. Autovalor real doble: . La solucin general del sistema es, en este caso,
(
x (t) = C1 et + C2 ( M1 + M2 t)et ,
y(t) = C1 et + C2 ( N1 + N2 t)et ,
y(t) = C1 et + C2 ( N1 + N2 t)et .
Los coeficientes M1 , M2 , N1 y N2 se determinan a partir de las ecuaciones del sistema.
Sustituyendo en la primera ecuacin y agrupando convenientemente, resulta
( M1 + M2 ) + M2 t = (3M1 4N1 ) + (3M2 4N2 )t.
Igualando los coeficientes del mismo orden, obtenemos
(
M1 + M2 = 3M1 4N1 2M1 M2 = 4N1 ,
M2 = 3M2 4N2 M2 = 2N2 .
De igual forma, a partir de la segunda ecuacin tenemos
(
2N1 + N2 = M1 ,
N1 + N2 + N2 t = M1 N1 + ( M2 N2 )t
M2 = 2N2 .
Observemos que las cuatro relaciones obtenidas pueden reducirse a dos:
(
2N1 + N2 = M1 ,
M2 = 2N2 .
Tomando, por ejemplo, M1 = 1 y N2 = 1, deducimos que M2 = 2 y N1 = 0.
Finalmente, las funciones
x (t) = 2C1 et + C2 (1 + 2t)et ,
(
y(t) = C1 et + C2 tet ,
definen la solucin general del sistema.
Veamos qu opina Sage:
4.3 Mtodo de autovalores 117
sage : var ( t )
sage : x = function ( x , t )
sage : y = function ( y , t )
sage : ec1 = diff (x , t ) == 3* x - 4* y
sage : ec2 = diff (y , t ) == x - y
sage : desolve_system ([ ec1 , ec2 ] , [x , y ])
[x(t) == 2* t * e ^ t * x (0) - 4* t * e ^ t * y (0) + e ^ t * x (0) ,
y(t) == t * e ^ t * x (0) - 2* t * e ^ t * y (0) + e ^ t * y (0)]
Teniendo en cuenta que C1 = y(0) y C2 = x (0) + 2y(0), vemos que la solucin obte-
nida es la misma.
III. Autovalores complejos: = a bi, b > 0. La solucin general del sistema tiene la
siguiente forma:
1 (3 + 2i ) 2 1 + 2 i 0
= ,
4 5 (3 + 2i ) 1 + 2 i 0
con condiciones iniciales x (0) = 1, y(0) = 2, viene dada por las funciones
x (t) = et ,
(
y(t) = 2et .
Dicho de otra forma, la rbita que pasa por el punto (1, 2) es la curva definida por
(et , 2et ).
En este caso es fcil eliminar el parmetro t. Teniendo en cuenta que et = x, resulta
y = 2et = 2x y = 2x.
La expresin obtenida nos dice que los puntos de la rbita (et , 2et ) estn sobre la curva
y = 2x, pero no que la rbita sea toda la curva. Notemos que x = et > 0 e y = 2et > 0,
por lo que la rbita queda confinada en el primer cuadrante. Adems,
lo que indica que la rbita tiende a infinito, en ambas variables, conforme el tiempo
avanza. Asimismo,
lm ( x (t), y(t)) = (0, 0),
t
120 Sistemas de ecuaciones diferenciales
lo que significa que la rbita tiende al origen cuando el tiempo retrocede (suele decirse
que la rbita sale del origen). En la figura 4.2 se representan las funciones x (t) e y(t),
as como la rbita correspondiente al punto (1, 2).
En Sage podemos resolver el sistema y calcular los lmites de la solucin de la
siguiente forma:
sage : t = var ( t )
sage : x = function ( x , t )
sage : y = function ( y , t )
sage : ec1 = diff (x , t ) == x
sage : ec2 = diff (y , t ) == 2* x
sage : sol = desolve_system ([ ec1 , ec2 ] , [x , y ] , ics =[0 , 1 , 2]); sol
[ x ( t ) == e ^t , y ( t ) == 2* e ^ t ]
sage : sol1 = sol [0]. rhs ()
sage : sol2 = sol [1]. rhs ()
sage : limit ( sol1 , t = oo ) , limit ( sol2 , t = oo )
(+ Infinity , + Infinity )
sage : limit ( sol1 , t = - oo ) , limit ( sol2 , t = - oo )
(0 , 0)
Para dibujar la rbita correspondiente, digamos para t (10, 1), podemos usar el
comando parametric_plot:
sage : fig = parametric_plot (( sol1 , sol2 ) , (t , -10 , 1))
sage : show ( fig )
con condiciones iniciales x (0) = 1, y(0) = 0. Su solucin est definida por las funcio-
4.4 Teora geomtrica: el diagrama de fases 121
nes (
x (t) = cos(t),
y(t) = sen(t).
De este modo, la curva definida por (cos(t), sen(t)) es la rbita que pasa por el punto
(1, 0).
Para eliminar el parmetro t, notemos que
Funciones x (t) = cos(t), y(t) = sen(t). rbita del punto (1, 0).
No es difcil demostrar que dos rbitas distintas nunca pueden cortarse, debido al
teorema de existencia y unicidad de soluciones. De esta forma, el espacio R2 , denomi-
nado espacio de fases, puede particionarse mediante rbitas: por cada punto pasa una
nica rbita y dos de stas nunca se cortan. Dichas rbitas estn orientadas segn el
sentido de avance del tiempo. El espacio de fases junto con la estructura dada por el
conjunto de todas las rbitas orientadas se denomina diagrama de fases del sistema.
122 Sistemas de ecuaciones diferenciales
el origen (0, 0) siempre es un punto crtico del mismo. Para que sea el nico punto
crtico, el sistema (
ax + by = 0,
cx + dy = 0,
debe tener solucin nica, lo cual es cierto si y slo si
a b
det( A) = = ad bc 6= 0.
c d
Es decir, el origen es el nico punto crtico del sistema si y slo si det( A) 6= 0. A partir
de ahora supondremos que se verifica esta condicin.
Para representar el diagrama de fases de un sistema tenemos que calcular su solu-
cin general y representar en el plano de fases un nmero adecuado de rbitas. Para
sistemas lineales que verifican det( A) 6= 0, el diagrama de fases slo admite cuatro
configuraciones bsicas, en las cuales el origen es el nico punto crtico presente. Las
posibles configuraciones son:
Nodo. Todas las rbitas entran en el origen (nodo estable) o salen de ste (nodo
inestable). Vase la figura 4.4.
Foco. Ahora las rbitas tienden o parten del origen (foco estable o inestable, res-
pectivamente), pero dando infinitas vueltas alrededor del mismo. Grficamente,
las rbitas tienen forma de espirales, que pueden girar en el sentido de las agujas
del reloj o al contrario. Vase la figura 4.5.
Punto de silla. En este caso hay dos rbitas que tienden al origen (formando con
ste la denominada variedad estable), otras dos que salen del origen (formando la
variedad inestable) y el resto de rbitas tienden de forma asinttica a las anterio-
res. Vase la figura 4.6.
y y
x x
Figura 4.4: Diagrama de fases alrededor del origen (0, 0): nodos.
y
y
x
x
Figura 4.5: Diagrama de fases alrededor del origen (0, 0): focos.
y focos estables son asintticamente estables, mientras que un centro es estable pero
no asintticamente estable. Cuando falla la condicin de estabilidad, se dice que el
punto crtico es inestable; por ejemplo, un punto de silla.
y y
x x
Figura 4.6: Diagrama de fases alrededor del origen (0, 0): punto de silla y centro.
x (t) = C1 et ,
(
y(t) = C1 et + C2 e2t ,
siendo C1 y C2 constantes arbitrarias. El punto crtico (0, 0) se obtiene para los valores
C1 = 0 y C2 = 0. A continuacin analizaremos cmo son las dems rbitas, en funcin
de los valores de las constantes C1 y C2 .
Supongamos C1 = 0 y C2 6= 0; en tal caso, x = 0 e y = C2 e2t . Si C2 > 0 se tiene
que y > 0; adems, y cuando t , mientras que y 0 si t . La rbita
correspondiente consiste en el semieje y positivo, orientado en el sentido creciente
de y. De forma anloga, la rbita correspondiente a C2 < 0 consiste en el semieje y
negativo, orientado en el sentido decreciente de y. Grficamente, en ambos casos la
rbita sale del origen.
126 Sistemas de ecuaciones diferenciales
1 Podemos dar una idea intuitiva del porqu. Para ello, elevemos x (t) e y(t) al cuadrado y sumemos:
x (t)2 + y(t)2 = C22 e2t (cos2 (t) + sen2 (t)) = C22 e2t .
Para cada valor de t, el punto ( x (t), y(t)) est sobre la circunferencia de centro el origen y radio
|C2 |et . Al ir variando el ngulo de giro t el radio va decreciendo, por lo que los puntos ( x (t), y(t))
van describiendo una espiral que tiende al origen. El nmero de vueltas que da la espiral es infinito,
ya que el ngulo t recorre todos los intervalos de la forma [k, 2 + k], k Z.
128 Sistemas de ecuaciones diferenciales
por lo que el origen es el nico punto crtico. La solucin general del sistema es
x (t) = C1 et + C2 e2t ,
(
y(t) = 3C1 et .
y 3C1 2 y 9C2 C2
t 2t
x = C1 e + C2 e = C1 + C2 = + 12 .
3C1 y 3 y
En consecuencia, las rbitas corresponden a las ramas de las curvas definidas por la
ecuacin
y C
x = + 2 , C 6= 0.
3 y
Su sentido viene determinado por el sentido de las rbitas que forman las variedades
estable e inestable.
En la figura 4.9 se representa el esquema de fases correspondiente.
Ejemplo 4.19. Consideremos el sistema
(
x 0 = 4y,
y0 = x.
lo que significa que cada rbita distinta del origen est sobre una elipse de ecuacin
x2 + 4y2 = C2 ,
para una cierta constante arbitraria C 6= 0. Como ninguna elipse contiene al punto
crtico, resulta que cada elipse es una rbita completa. Este tipo de rbita se denomina
cerrada o peridica.
Veamos a continuacin cmo determinar el sentido de giro de las rbitas. Supon-
gamos que x > 0 e y > 0 (esto es, estamos en el primer cuadrante); a partir de las
ecuaciones, deducimos que x 0 = 4y < 0 e y0 = x > 0, lo que significa que x decrece
mientras que y crece. Por tanto, las rbitas deben girar en el sentido contrario a las
agujas del reloj.
El diagrama de fases resultante es un centro, que se representa en la figura 4.10.
asociado,
P() = 2 tr( A) + det( A).
Los posibles casos son los siguientes:
El sistema (
x 0 = x,
y0 = x + 2y,
tiene como polinomio caracterstico P() = 2 3 + 2, cuyas races son 1 = 1
y 2 = 2. Al ser reales y del mismo signo, el diagrama de fases es un nodo; al
ser positivas, el nodo es inestable.
El sistema (
x 0 = 2x + y,
y0 = y,
tiene a P() = 2 2 como polinomio caracterstico. El diagrama de fases
correspondiente es un punto de silla, ya que las races 1 = 1 y 2 = 2 son
reales y de distinto signo.
Los resultados son consistentes con los obtenidos en los ejemplos 4.164.19.
Notemos que las races del polinomio caracterstico nos proporcionan informacin
cualitativa sobre el diagrama de fases, es decir, nos dice cul es la estructura general
del diagrama pero sin precisar la forma exacta de sus rbitas. Para obtener esto lti-
mo, tendramos que resolver el sistema y dibujar las rbitas a partir de su expresin
explcita, tal y como hicimos en los ejemplos 4.164.19.
Consideramos a continuacin un ejemplo en el que se analiza el diagrama de fases
de un sistema que no verifica la condicin det( A) 6= 0.
132 Sistemas de ecuaciones diferenciales
En este caso, la matriz de coeficientes tiene determinante nulo. Los puntos crticos son
de la forma (0, y0 ), con y0 R; esto es, el eje y est compuesto de puntos crticos.
x (t) = C1 et ,
(
y(t) = C1 et + C2 .
4.5. Aplicaciones
4.5.1. Calentamiento de edificios
En la seccin 2.7.3 estudiamos un modelo de calentamiento de edificios en el que
se supona que la temperatura estaba uniformemente distribuida en el interior del
edificio. Dicho modelo es apropiado para estudiar el caso de un edificio con un nico
compartimento.
En esta seccin vamos a considerar un modo algo ms preciso de representar aquel
modelo, a saber:
T (t) Te (t)
0
T (t) = + C H (t) + U (t, T (t)) , t [0, t ],
K
T (0) = T ,
0
donde T (t) (en C) denota la temperatura en el interior del edificio y Te (t) es la tem-
peratura en el exterior; la constante positiva K (en horas, h) es la constante de tiempo
de transferencia de calor, que depende de la calidad del aislamiento; C (en C/kcal)
es la capacidad calorfica del edificio, que depende de su tamao; H (t) (en kcal/h)
representa el calor generado por personas, luces, etc., en el interior del edificio; y
U (t, T (t)) (en kcal/h) denota los efectos del sistema de calefaccin o de aire acondi-
cionado, que dependen tanto del tiempo t como de la temperatura en cada instante
T (t); por ltimo, t es el tiempo final y T0 denota la temperatura inicial del edificio.
Vamos a considerar ahora un edificio con varios compartimentos, cada uno de los
cuales puede tener una temperatura diferente a la del resto. Por simplicidad, ana-
lizaremos un modelo con dos compartimentos (figura 4.12), aunque la idea puede
extenderse para un nmero arbitrario de ellos.
Denotemos por Ti (t), Hi (t) y Ui (t, T (t)) la temperatura, fuentes de calor y fuentes
de calefaccin/refrigeracin, respectivamente, del compartimento i = 1, 2. Sean C1 y
C2 las constantes de capacidad calorfica de los compartimentos. Ki es la constante de
tiempo de transferencia de calor correspondiente a las paredes que limitan el com-
partimento i-simo con el exterior. Asimismo, es necesario introducir las constantes
de tiempo de transferencia de calor entre ambos compartimentos, K12 y K21 ; dichos
valores deben verificar la relacin C1 K12 = C2 K21 .
El sistema de ecuaciones diferenciales a considerar es el siguiente:
T1 (t) Te (t) 1
0
T1 (t) = + C1 H1 (t) + U1 (t, T1 (t)) ( T1 (t) T2 (t)),
K1 K12
T (t) Te (t) 1
T20 (t) = 2 + C2 H2 (t) + U2 (t, T2 (t)) ( T2 (t) T1 (t)),
K2 K21
junto con las condiciones iniciales
(
T1 (0) = T1,0 ,
T2 (0) = T2,0 ,
134 Sistemas de ecuaciones diferenciales
Te(t)
U1(t,T) U2(t,T)
T1(t) T2(t) K2
K12
K1
K21
H1(t)
C1 C2 H2(t)
forma:
T10 = 41 T1 12 ( T1 T2 ) + 11,
(
T20 = 51 T2 12 ( T2 T1 ),
o bien
T10 = 43 T1 + 12 T2 + 11,
(
T20 = 12 T1 7
10 T2 .
Podemos resolver el sistema mediante el mtodo de sustitucin. Derivamos en la
segunda ecuacin:
7 0
T200 = 12 T10 10 T2 ,
y sustituimos T10 usando la primera ecuacin:
1
T200 = 34 T1 + 21 T2 + 11 10
7 0
T2 .
2
k1 k2
m1 m2
01 x1(t) 02 x2(t) +
(4) k22 k2
m1 x1 = (k1 + k2 ) x100 + x1 2 x2 .
m2 m2
A continuacin, despejamos x2 de la primera ecuacin
m1 00 k1 + k2
x2 = x + x1 , (4.1)
k2 1 k2
y sustituimos en la expresin anterior:
k2 k2 m1 00 k1 + k2
(4)
m1 x1 = (k1 + k2 ) x100 + 2 x1 2 x + x1 .
m2 m2 k2 1 k2
Por ltimo, pasamos todos los trminos al primer miembro y simplificamos:
k2 m1 00 k1 k2
(4)
m1 x1 + k 1 + k 2 + x1 + x1 = 0.
m2 m2
Esta ecuacin de cuarto orden determina el movimiento del mvil de masa m1 . Una
vez calculada la solucin x1 , usamos la relacin (4.1) para determinar el comporta-
miento del mvil de masa m2 .
4 + 52 + 4 = 0.
2 + 5 + 4 = 0 = 1, = 4.
= 1 = i, = 4 = 2i.
Es decir, el primer mvil se desplaza una unidad hacia la izquierda y el segundo una
unidad hacia la derecha respecto de sus posiciones de equilibrio; adems, al primer
mvil se le imprime una velocidad inicial positiva de mdulo uno, mientras que el
segundo se suelta sin velocidad inicial. La imposicin de las condiciones iniciales
conduce a
C1 + C3 = 1
C2 + 2C4 = 1
C1 = 0, C2 = 13 , C3 = 1, C4 = 31 .
2C1 C3 = 1
C2 C4 = 0
1
x1 ( t ) = 3 sen(t) cos(2t) + 13 sen(2t), x2 ( t ) = 2
3 sen(t) + cos(2t) 13 sen(2t),
g
L
x(t)
lo que significa que, para valores de x cercanos a 0, sen( x ) puede aproximarse por x.
Podemos entonces considerar la siguiente aproximacin del sistema no lineal:
x 0 = y,
y0 = g x a y.
L m
Se trata de un sistema lineal que representa el movimiento del pndulo para pequeas
oscilaciones alrededor del punto de equilibrio.
El determinante de la matriz de coeficientes del sistema es
0 1 g
g/L a/m = L 6= 0,
por lo que el origen es el nico punto crtico. Para determinar la configuracin del
diagrama de fases, consideremos la ecuacin caracterstica
a g
2 + + = 0,
m L
cuyas races son r
a 1 a2 g
= 2
4 .
2m 2 m L
Hemos de distinguir pues tres casos:
a2 g
2
> 4 . En tal caso las races son reales, distintas y negativas, por lo que se
m L
obtiene un nodo estable.
a2 g
= 4 . Se tiene una raz real doble negativa, por lo que el diagrama de fases
m2 L
es un nodo estable.
a2 g
2
< 4 . Ahora las races son complejas con parte real negativa, por lo que
m L
tenemos un foco estable.
En cualquiera de los casos, el origen es un punto crtico estable. Este hecho puede
interpretarse del siguiente modo: si el pndulo se encuentra inicialmente en equilibrio
y se perturba ligeramente su posicin o su velocidad, el movimiento resultante se
extinguir con el paso del tiempo.
En el caso en que no haya rozamiento (a = 0), las races del polinomio caracters-
tico son de la forma
1 g g
r r
= 4 = i .
2 L L
Al ser imaginarias puras, la configuracin del diagrama de fases corresponde a un
centro. Su interpretacin en trminos fsicos corresponde a un movimiento oscilatorio
perpetuo alrededor de la posicin de equilibrio.
142 Sistemas de ecuaciones diferenciales
CAPTULO
5.1. Introduccin
En los captulos anteriores hemos estudiado diversas tcnicas para la resolucin
analtica de ecuaciones diferenciales ordinarias. Dichas tcnicas son slo aplicables a
determinados tipos de ecuaciones: homogneas, lineales, exactas, etc. Sin embargo, la
mayora de ecuaciones que aparecen en problemas cientficos y tcnicos no pueden
resolverse de forma exacta. Adems, en determinados casos puede ocurrir que la
complejidad de la solucin exacta sea tal, que aun pudindose calcular de forma
explcita no seamos capaces de interpretarla adecuadamente.
En los casos en que no sea posible resolver de forma exacta una ecuacin diferen-
cial, podemos plantearnos la obtencin de una aproximacin suficientemente buena
de la solucin. Esta solucin, denominada solucin numrica, se determina mediante
un mtodo o algoritmo numrico que se ejecutar con la ayuda de un ordenador. Este
es el camino habitual que se sigue en las aplicaciones cientficas y tcnicas, donde
surgen ecuaciones no lineales de difcil o imposible resolucin analtica.
En este captulo vamos a presentar una serie de tcnicas para la obtencin de
soluciones numricas de problemas de valor inicial (los problemas de contorno se
tratarn en el captulo 6) que pueden aplicarse tanto a ecuaciones escalares como
a sistemas de ecuaciones. Dichas tcnicas forman parte de una de las ramas de las
144 Mtodos numricos para problemas de valor inicial
IJnica solucin.
Consideremos una discretizacin o mallado del intervalo [ a, b], esto es, una particin
del mismo de la forma
xk+1 = xk + h, k = 0, . . . , N 1.
El valor h se denomina paso de malla y los puntos xk son los nodos del mallado. Ntese
que la relacin entre el paso de malla h y el nmero de subintervalos N es la siguiente:
ba
h= .
N
Observacin. El paso de malla juega un papel fundamental en el anlisis de los m-
todos numricos que vamos a presentar. Intuitivamente, mientras menor sea el paso
de malla (esto es, mientras ms puntos tenga el mallado) mejor ser la aproximacin
de la solucin.
y k y ( x k ), k = 0, . . . , N.
El conjunto de puntos
{ y1 , y2 , . . . , y N }
5.2 El mtodo de Euler 145
x y
Figura 5.1: Comparacin entre la solucin exacta del problema y0 = 2 , y(0) = 1, y el
resultado obtenido con el mtodo de Euler con paso de malla h = 0,1.
en el punto ( x0 , y0 ):
y = y0 + y0 ( x0 )( x x0 ).
Evaluemos ahora dicha recta en el nodo x1 = x0 + h y llamemos y1 al resultado
obtenido:
y1 = y0 + y0 ( x0 )( x1 x0 ) y1 = y0 + hy0 ( x0 ).
Teniendo que cuenta que y( x ) es solucin de la ecuacin diferencial, podemos susti-
tuir el valor y0 ( x0 ) por f ( x0 , y( x0 )):
y1 = y0 + h f ( x0 , y( x0 )).
(x1, y1)
y1
e1
y(x1)
(x1, y(x1))
(x0, y0)
x0 x1 x
h
y2 = y1 + h f ( x1 , y1 ).
Observacin. Ntese que la solucin de este nuevo problema de valor inicial no tiene
por qu ser la misma solucin del problema original, ya que la condicin inicial es dis-
tinta. Sin embargo, si la funcin f ( x, y) es suficientemente regular, puede demostrarse
que las soluciones a ambos problemas son suficientemente aproximadas.
Eulers Method (E342), Inst. Calc. Integralis 1768, 650:
Figura 5.3: Publicacin original del mtodo de Euler. E342, Inst. Calc. Integralis 1768, 650.
1
C
El proceso anterior se repite hasta llegar al ltimo nodo x N = b, obtenindose as
una serie de valores aproximados
{ y1 , y2 , . . . , y N }
que forman la solucin numrica. Dicha solucin depender del paso de malla h
elegido. A B
Estamos
!1 ya en condiciones de definir la forma general del mtodo de Euler:
y k +1 = y k + h f ( x k , y k ), k = 0, 1, . . . , N 1,
donde los valores iniciales x0 e y0 vienen dados por la condicin inicial del problema.
h = 1/4
Cada valor yk proporciona una aproximacin del valor exacto de la solucin p.6/64
en el
nodo xk :
yk y( xk ), k = 0, 1, . . . , N,
148 Mtodos numricos para problemas de valor inicial
y(0) = 1,
cuya solucin exacta, obtenida mediante separacin de variables, es
y( x ) = x2 4x + 8 7e x/2 .
El mtodo de Euler tiene en este caso la siguiente forma:
h
yk+1 = yk + ( xk2 yk ), k = 0, 1, . . . , N 1,
2
donde h = 1/N.
En la tabla 5.1 se muestran, con una precisin de seis cifras decimales, los valores
obtenidos con el mtodo de Euler para N = 10 (paso de malla h = 0,1), as como los
valores exactos de la solucin y los errores cometidos. En este caso, el error global es
igual a e = 0,025697.
En la figura 5.4 se representan la solucin exacta del problema y la solucin numrica
obtenida.
Existe una implementacin del mtodo de Euler en Sage, cuyo uso se ilustra en el
siguiente cdigo:
sage : var ( x , y )
sage : fun (x , y ) = ( x ^2 - y )/2 # segundo miembro de la ecuacio n
sage : a = 0. # extremo inferior
sage : b = 1. # extremo superior
sage : y0 = 1. # valor inicial
sage : N = 10 # nu mero de particiones
sage : h = (b - a )/ N # paso de malla
sage : eulers_method ( fun , a , y0 , h , b )
x y h * f (x , y )
0.000 00000000 0000 1.00000000000000 -0.0500000000000000
0.100 00000000 0000 0.950000 00000000 0 -0.0470000000000000
0.200 00000000 0000 0.903000 00000000 0 -0.0431500000000000
0.300 00000000 0000 0.859850 00000000 0 -0.0384925000000000
0.400 00000000 0000 0.821357 50000000 0 -0.0330678750000000
0.500 00000000 0000 0.788289 62500000 0 -0.0269144812500000
0.600 00000000 0000 0.761375 14375000 0 -0.0200687571875000
0.700 00000000 0000 0.741306 38656250 0 -0.0125653193281250
0.800 00000000 0000 0.728741 06723437 5 -0.00443705336171875
0.900 00000000 0000 0.724304 01387265 6 0 . 00 4 28 4 7 99 3 06 3 67 1 8
1.00000000000000 0.72 85888131 79023 0 .01 35 70 559 34 10 488
5.2 El mtodo de Euler 149
k xk yk y( xk ) ek
0 0,0 1,000000 1,000000 0,000000
1 0,1 0,950000 0,951394 0,001394
2 0,2 0,903000 0,906138 0,003138
3 0,3 0,859850 0,865044 0,005194
4 0,4 0,821357 0,828885 0,007527
5 0,5 0,788290 0,798395 0,010105
6 0,6 0,761375 0,774272 0,012897
7 0,7 0,741306 0,757183 0,015877
8 0,8 0,728741 0,747760 0,019019
9 0,9 0,724304 0,746603 0,022299
10 1,0 0,728589 0,754285 0,025697
Tabla 5.1: Mtodo de Euler: solucin del ejemplo 5.1 con paso h = 0,1.
for k in range ( N ):
x . append ( x [ k ]+ h )
y . append ( y [ k ]+ h * fun ( x [ k ] , y [ k ]))
return zip (x , y )
sage : #
sage : # ## Programa principal ###
sage : #
sage : var ( x , y )
sage : fun (x , y ) = ( x ^2 - y )/2 # segundo miembro de la ecuacio n
sage : a = 0. # extremo inferior
sage : b = 1. # extremo superior
sage : y0 = 1. # valor inicial
sage : N = 10 # nu mero de particiones
sage : sol = euler ( fun , a , b , N , y0 ) # me todo de Euler
sage : #
sage : # solucio n exacta
sage : y = function ( y , x )
sage : ec = diff (y , x ) == fun (x , y )
sage : sol_exacta = desolve ( ec , y , ics =[0 , y0 ])
sage : #
sage : # errores
sage : error = [ abs ( sol_exacta ( x ) - y ) for (x , y ) in sol ]
sage : print ( Error = %r % max ( error ))
sage : #
sage : # gra ficas
sage : fig1 = list_plot ( sol , color = blue , legend_label = Euler ,
size = 20 )
sage : fig1 += line ( sol , color = blue )
sage : fig2 = plot ( sol_exacta , a , b , color = red , legend_label = exacta ,
gridlines = True )
sage : show ( fig1 + fig2 )
Error = 0 .0 25 696 56 88 325 42 2
Si queremos ver los errores cometidos en cada nodo, basta con escribir error en la
lnea de comandos:
1 Es interesante sealar que Sage est basado en el lenguaje de programacin Python. En particular,
la definicin del mtodo de Euler utiliza la sintaxis propia de dicho lenguaje.
5.2 El mtodo de Euler 151
sage : error
[0.000000000000000 , 0.00139402849500125 , 0.00313807374828301 ,
0.00519416502459535 , 0.00752722845412812 , 0.0101048935001661 ,
0.0128973114779739 , 0.0158769854065062 , 0.0190186105161513 ,
0.0222989247749311 , 0. 0 2 56 9 65 6 8 83 2 54 2 2]
Asimismo, para ver los valores de los nodos y de las soluciones aproximadas, basta
con escribir sol.
Existe entonces una constante C > 0, independiente del paso de malla h, tal que
e(h) 6 Ch,
donde e(h) es el error global cometido al aproximar la nica solucin del problema de valor
inicial mediante el mtodo de Euler con paso de malla h. Como consecuencia, el mtodo de
Euler es convergente, en el siguiente sentido:
lm e(h) = 0.
h 0
152 Mtodos numricos para problemas de valor inicial
Observemos que
e(0,1) e(0,1)
= 2,002792 2 e(0,05) ,
e(0,05) 2
es decir, al dividir entre dos el paso de malla el error cometido se divide aproxima-
damente entre dos. Por otra parte, al aplicar la frmula para aproximar el orden se
obtiene:
ln(0,025697/0,012830)
p 1,002079 1.
ln 2
Al realizar el experimento un cierto nmero de veces se obtienen los resultados de
la tabla 5.2, donde en la penltima columna se escriben los cocientes entre dos errores
consecutivos, y en la ltima las correspondientes aproximaciones del orden.
Como puede verse, estas aproximaciones tienden a 1, que es el orden del mtodo de
Euler.
0 6 lm e(h) 6 lm Ch = C lm h = 0 lm e(h) = 0.
h 0 h 0 h 0 h 0
La idea intuitiva es que, conforme el paso de malla tiende a cero, la solucin numrica
converge hacia la solucin analtica. Este hecho se ilustra en el siguiente ejemplo.
Ejemplo 5.3. Consideremos de nuevo el problema del ejemplo 5.1. En la tabla 5.3 se
muestran los errores obtenidos con una serie de pasos de malla que tienden a cero.
Como puede observarse, dichos errores se van aproximando a cero.
Asimismo, en la figura 5.5 se representan la solucin exacta y las soluciones apro-
ximadas con pasos de malla 101 y 102 (el resto de las soluciones son indistinguibles
de la solucin exacta en la figura). Observamos que mientras menor es el paso de
malla, ms se aproxima la solucin numrica a la solucin exacta.
154 Mtodos numricos para problemas de valor inicial
N h e(h)
10 101 2,5697 102
102 102 2,5630 103
103 103 2,5623 104
104 104 2,5626 105
105 105 2,5622 106
106 106 2,5623 107
y1 = y0 + ( x1 x0 ) f ( x0 , y0 ),
f ( x0 , y0 ) + f ( x1 , y1 ) h
y1 = y0 + ( x1 x0 ) y1 = y0 + ( f ( x0 , y0 ) + f ( x1 , y1 )).
2 2
Notemos que el trmino f ( x1 , y1 ) depende explcitamente de y1 , que es desconocido
a priori. Para solventar este problema, podemos aproximar el valor de y1 en f ( x1 , y1 )
mediante una iteracin del mtodo de Euler, que denotaremos por p1 :
p1 = y0 + h f ( x0 , y0 ) f ( x1 , y1 ) f ( x1 , p1 ).
Puede probarse que el mtodo de Heun es de orden dos: existe una constante
C > 0, independiente del paso de malla h, tal que
e(h) 6 Ch2 ,
(o dicho de otro modo, e(h) = O(h2 )) siendo e(h) el error global obtenido al aproxi-
mar la solucin mediante el mtodo de Heun con paso de malla h. Como consecuen-
cia, el mtodo de Heun es convergente.
Al ser el mtodo de Heun de orden dos, al dividir el paso de malla entre dos
el error cometido se dividir aproximadamente entre 22 = 4. Por tanto, el mtodo
de Heun proporciona un resultado ms preciso que el mtodo de Euler, si en am-
bos usamos el mismo paso de malla. Estos hechos quedarn patentes en el siguiente
ejemplo.
Ejemplo 5.4. Retomemos el problema del ejemplo 5.1. Al aplicar el mtodo de Heun
para resolverlo con paso de malla h = 0, 1, se obtienen los resultados de la tabla 5.4.
Si comparamos estos resultados con los de la tabla 5.1, vemos que la precisin del
mtodo de Heun es superior a la del mtodo de Euler.
k tk xk y( xk ) ek
0 0,0 1,000000 1,000000 0,000000
1 0,1 0,951500 0,951394 1,0597 104
2 0,2 0,906352 0,906138 2,1380 104
3 0,3 0,865367 0,865044 3,2306 104
4 0,4 0,829318 0,828885 4,3334 104
5 0,5 0,798939 0,798395 5,4429 104
6 0,6 0,774928 0,774272 6,5559 104
7 0,7 0,757950 0,757183 7,6693 104
8 0,8 0,748638 0,747760 8,7805 104
9 0,9 0,747591 0,746603 9,8870 104
10 10,0 0,755384 0,754285 1,0987 103
Tabla 5.4: Mtodo de Heun: solucin del ejemplo 5.1 con paso h = 0,1.
En la figura 5.6 se comparan grficamente los resultados obtenidos con los mto-
dos de Euler y Heun.
Los resultados obtenidos al dividir sucesivamente entre dos el paso de malla se
muestran en la tabla 5.5 . Como puede comprobarse, el cociente entre errores sucesivos
tiende a 22 = 4 y las aproximaciones del orden convergen hacia 2.
El mtodo de Heun no viene implementado en Sage, por lo que es necesario pro-
gramarlo directamente. El siguiente cdigo Sage, que incluye una implementacin del
mtodo de Heun, se ha utilizado para generar parte de la figura 5.6:
5.3 Mtodos de orden superior 157
Figura 5.6: Ejemplo 5.4: resultados obtenidos con los mtodos de Euler y Heun.
for k in range ( N ):
x . append ( x [ k ]+ h )
aux = fun ( x [ k ] , y [ k ])
p = y [ k ]+ h * aux # prediccio n
y . append ( y [ k ]+( h /2)*( aux + fun ( x [ k ]+ h , p ))) # correccio n
return zip (x , y )
sage : #
sage : # ## Programa principal ###
sage : #
sage : var ( x , y )
sage : fun (x , y ) = ( x ^2 - y )/2 # segundo miembro de la ecuacio n
sage : a = 0. # extremo inferior
sage : b = 1. # extremo superior
sage : y0 = 1. # valor inicial
sage : N = 10 # nu mero de particiones
158 Mtodos numricos para problemas de valor inicial
Para aproximar el valor y1/2 consideramos una iteracin del mtodo de Euler con
paso de malla h/2:
h
y1/2 x0 + f ( x0 , y0 ).
2
Obtenemos as la primera iteracin del mtodo del punto medio:
y1 = y0 + h f ( x0 + 2h , y0 + 2h f ( x0 , y0 )).
yk+1 = yk + h f ( xk + 2h , yk + 2h f ( xk , yk )),
(
k = 0, 1, . . . , N 1.
xk+1 = xk + h,
El mtodo del punto medio tiene orden dos, por lo que en general ser comparable al
mtodo de Heun.
Ejemplo 5.5. Al realizar el experimento del ejemplo 5.1, se obtienen los resultados
de la tabla 5.6. Para este problema, los resultados obtenidos con el mtodo del punto
5.3 Mtodos de orden superior 159
k xk yk y( xk ) ek
0 0,0 1,000000 1,000000 0,000000
1 0,1 0,951375 0,951394 1,9028 105
2 0,2 0,906108 0,906138 3,0105 105
3 0,3 0,865010 0,865044 3,3960 105
4 0,4 0,828853 0,828885 3,1271 105
5 0,5 0,798372 0,798395 2,2667 105
6 0,6 0,774264 0,774272 8,7313 106
7 0,7 0,757193 0,757183 9,9954 106
8 0,8 0,747797 0,747760 3,3013 105
9 0,9 0,746663 0,746603 5,9858 105
10 10,0 0,754375 0,754285 9,0104 105
Tabla 5.6: Mtodo del punto medio: solucin del ejemplo 5.1 con paso h = 0,1.
N h e(h) cocientes
10 0,100000 9,0104 105
20 0,050000 2,3686 105 3,804051
40 0,025000 6,0610 106 3,907965
80 0,012500 1,5324 106 3,955388
160 0,006250 3,8520 107 3,978037
320 0,003125 9,6563 108 3,989102
Tabla 5.7: Estudio del orden del mtodo del punto medio.
medio son ms precisos que los obtenidos con el mtodo de Heun, aunque ambos
mtodos tengan orden dos.
Por otra parte, al dividir sucesivamente el paso de malla por dos se obtienen los
resultados de la tabla 5.7, que muestran que el mtodo tiene orden dos.
Los resultados anteriores han sido obtenidos con el siguiente cdigo Sage:
sage : # Me todo del punto medio
sage : def punto_medio ( fun , a , b , N , y0 ):
h = (b - a )/ N # paso de malla
x = [ a ] # primer nodo
y = [ y0 ] # valor inicial
for k in range ( N ):
x . append ( x [ k ]+ h )
aux = y [ k ]+( h /2)* fun ( x [ k ] , y [ k ]) # Euler con paso h /2
y . append ( y [ k ]+ h * fun ( x [ k ]+ h /2 , aux ))
return zip (x , y )
sage : #
sage : # ## Programa principal ###
160 Mtodos numricos para problemas de valor inicial
sage : #
sage : var ( x , y )
sage : fun (x , y ) = ( x ^2 - y )/2 # segundo miembro de la ecuacio n
sage : a = 0. # extremo inferior
sage : b = 1. # extremo superior
sage : y0 = 1. # valor inicial
sage : N = 10 # nu mero de particiones
sage : sol = punto_medio ( fun , a , b , N , y0 ) # me todo del punto medio
sage : #
sage : # solucio n exacta
sage : y = function ( y , x )
sage : ec = diff (y , x ) == fun (x , y )
sage : sol_exacta = desolve ( ec , y , ics =[0 , y0 ])
sage : #
sage : # errores
sage : error = [ abs ( sol_exacta ( x ) - y ) for (x , y ) in sol ]
sage : print ( Error = %r % max ( error ))
sage : #
sage : # gra ficas
sage : fig1 = list_plot ( sol , color = blue , legend_label = punto medio ,
size = 20 )
sage : fig1 += line ( sol , color = blue )
sage : fig2 = plot ( sol_exacta , a , b , color = red , legend_label = exacta ,
gridlines = True )
sage : show ( fig1 + fig2 )
Error = 0.0000901036871040484
h
yk+1 = yk + (K1 + 2K2 + 2K3 + K4 ), k = 0, 1, . . . , N 1,
6
donde
K1 = f ( x k , y k ),
f ( xk + 2h , yk + 2h K1 ),
K
=
2
K3 = f ( xk + 2h , yk + 2h K2 ),
K f ( xk + h, yk + hK3 ).
4 =
En este caso se ha considerado un promedio de cuatro velocidades diferentes: una en
el nodo inicial xk , dos correcciones en el nodo intermedio xk + 2h , y otra en el nodo
final xk + h.
El mtodo de Runge-Kutta tiene orden cuatro, es decir, existe una constante C > 0,
independiente del paso de malla h, tal que
e(h) 6 Ch4 ,
5.3 Mtodos de orden superior 161
donde e(h) es el error global que se produce al aproximar la solucin del problema
mediante el mtodo de Runge-Kutta con paso de malla h (dicho de otra forma, e(h) =
O(h4 )). De este modo, al dividir el paso de malla entre dos el error se divide entre
24 = 16.
Observacin. Existe una clase general de mtodos Runge-Kutta de orden arbitrario,
de los cuales el aqu estudiado no es ms que un caso particular.
Ejemplo 5.6. Al aplicar el mtodo de Runge-Kutta con paso de malla h = 0,1 al
problema del ejemplo 5.1, se obtienen los resultados de la tabla 5.8. Es claro que el
mtodo de Runge-Kutta produce resultados mucho ms precisos que los mtodos de
Euler o de Heun para el mismo paso de malla.
k tk xk y( xk ) ek
0 0,0 1,000000 1,000000 0,000000
1 0,1 0,951394 0,951394 7,9633 109
2 0,2 0,906138 0,906138 1,6420 108
3 0,3 0,865044 0,865044 2,5303 108
4 0,4 0,828885 0,828885 3,4550 108
5 0,5 0,798395 0,798395 4,4106 108
6 0,6 0,774273 0,774272 5,3917 108
7 0,7 0,757183 0,757183 6,3936 108
8 0,8 0,747760 0,747760 7,4120 108
9 0,9 0,746603 0,746603 8,4429 108
10 10,0 0,754285 0,754285 9,4825 108
Tabla 5.8: Mtodo de Runge-Kutta: solucin del ejemplo 5.1 con paso h = 0,1.
En Sage existe una implementacin del mtodo RK4, cuyo uso puede verse en el
siguiente cdigo:
sage : var ( x , y )
sage : fun (x , y ) = ( x ^2 - y )/2 # segundo miembro de la ecuacio n
sage : a = 0. # extremo inferior
sage : b = 1. # extremo superior
sage : y0 = 1. # valor inicial
sage : N = 10 # particiones
sage : h = (b - a )/ N # paso de malla
sage : desolve_rk4 ( fun , y , ics =[ a , y0 ] , end_points =[ a , b ] , step = h )
[[0.000000000000000 , 1.00000000000000] ,
[0.1 , 0.951394036458] ,
[0.2 , 0.906138090168] ,
[0.3 , 0.865044190327] ,
[0.4 , 0.828884763004] ,
[0.5 , 0.798394562606] ,
[0.6 , 0.774272509145] ,
[0.7 , 0.757183435905] ,
[0.8 , 0.747759751871] ,
[0.9 , 0.746603023076] ,
[1.0 , 0.754285476837]]
for k in range ( N ):
x . append ( x [ k ]+ h )
K1 = fun ( x [ k ] , y [ k ])
K2 = fun ( x [ k ]+ h /2 , y [ k ]+( h /2)* K1 )
5.3 Mtodos de orden superior 163
return zip (x , y )
sage : #
sage : # ## Programa principal ###
sage : #
sage : var ( x , y )
sage : fun (x , y ) = ( x ^2 - y )/2 # segundo miembro de la ecuacio n
sage : a = 0. # extremo inferior
sage : b = 1. # extremo superior
sage : y0 = 1. # valor inicial
sage : N = 10 # nu mero de particiones
sage : sol = rk4 ( fun , a , b , N , y0 ) # me todo RK4
sage : #
sage : # solucio n exacta
sage : y = function ( y , x )
sage : ec = diff (y , x ) == fun (x , y )
sage : sol_exacta = desolve ( ec , y , ics =[0 , y0 ])
sage : #
sage : # errores
sage : error = [ abs ( sol_exacta ( x ) - y ) for (x , y ) in sol ]
sage : print ( Error = %r % max ( error ))
sage : #
sage : # gra ficas
sage : fig1 = list_plot ( sol , color = blue , legend_label = RK4 , size = 20 )
sage : fig1 += line ( sol , color = blue )
sage : fig2 = plot ( sol_exacta , a , b , color = red , legend_label = exacta ,
gridlines = True )
sage : show ( fig1 + fig2 )
Error = 9.48253855437287 e -8
Figura 5.7: Ejemplo 5.6: resultados obtenidos con los mtodos de Euler y RK4.
164 Mtodos numricos para problemas de valor inicial
sen( x ) + cos( x ) + e x
y( x ) = .
2
Al resolver el problema mediante los mtodos presentados en esta seccin se ob-
tienen los resultados de la tabla 5.10. Como puede observarse, el mtodo de Euler es
el que proporciona peores resultados, mientras que el mtodo de Runge-Kutta es el
ms preciso.
En las figuras 5.8 y 5.9 se han representado las soluciones numricas obtenidas
con N = 25 y N = 50 particiones, respectivamente.
tras aplicar la regla de Barrow en el primer miembro. Por tanto, tenemos que
Z x
k +1
y ( x k +1 ) = y ( x k ) + f ( x, y( x )) dx.
xk
5.4 Algunas consideraciones 165
y k +1 = y k + h f ( x k , y k ).
Esta tcnica permite construir mtodos numricos ms generales que los estudiados
en esta seccin.
Todos los mtodos numricos estudiados pueden aplicarse para la resolucin de
sistemas de ecuaciones diferenciales. Para ello, basta con aplicar el mtodo elegido
a cada una de las componentes del sistema. Por ejemplo, el mtodo de Euler para
resolver el problema de valores iniciales dado por
0
x (t) = f (t, x (t), y(t)), t [ a, b],
y0 (t) = g(t, x (t), y(t)),
x ( a ) = x0 ,
y( a) = y ,
0
00
x (t) = f (t, x (t), y(t)),
x ( a ) = x0 ,
0
x ( a) = x00 .
x ( a ) = x0 ,
y( a) = y .
0
En este caso, la solucin numrica del sistema consta de dos sucesiones de valores
aproximados: { xk }kN=0 , que aproxima a la solucin x (t), e {yk }kN=0 , que aproxima a la
derivada de la solucin y(t) = x 0 (t).
5.5 Aplicaciones 167
5.5. Aplicaciones
5.5.1. Deflexin de vigas en voladizo
La ecuacin diferencial que determina el desplazamiento de una viga puede de-
terminarse a partir de la relacin existente entre el momento flector M ( x ) (que depende
de la distribucin de carga que soporta la viga), el radio de curvatura ( x ) de la curva
y( x ) que define la forma de la viga, el mdulo de elasticidad E (que depende del
material) y el momento de inercia I (que depende de la geometra de la viga). Dicha
relacin es la siguiente:
(x)
M( x) = .
EI
Teniendo en cuenta que el radio de curvatura depende de las dos primeras derivadas
de y( x ), puede deducirse la siguiente ecuacin no lineal:
M( x)
y00 ( x ) = (1 + y0 ( x ))3/2 , x [0, L],
EI
donde L es la longitud de la viga.
Cuando la flexin de la viga es pequea, se tiene que y0 ( x ) 0. Por tanto, asu-
miendo esta hiptesis de pequeas deformaciones, obtenemos:
M( x)
y00 ( x ) = , x [0, L].
EI
Si consideramos el caso de una viga en voladizo, debemos imponer las siguientes
condiciones iniciales:
y(0) = 0, y0 (0) = 0.
La condicin y(0) = 0 indica que el extremo izquierdo de la viga est situado en
el origen de coordenadas, mientras que la condicin y0 (0) = 0 nos dice que dicho
extremo permanece fijo. De esta forma hemos expresado y( x ) como solucin de un
problema de valores iniciales. Para resolverlo numricamente ser necesario escribirlo
en forma de sistema, tal y como comentamos al final de la seccin 5.3.
La ecuacin diferencial obtenida depende de la forma del momento flector, que a
su vez depende de la distribucin de la carga que soporta la viga. Vamos a tener en
cuenta dos casos:
Carga uniformemente distribuida P (figura 5.10):
Z L
P P
M( x) = (t x ) dt = ( L x )2 .
x L 2L
M ( x ) = P ( L x ).
168 Mtodos numricos para problemas de valor inicial
Figura 5.10: Deflexin de una viga en voladizo con carga uniformemente distribuida: esque-
ma.
Figura 5.11: Deflexin de una viga en voladizo con carga puntual en un extremo: esquema.
sage : #
sage : # datos del problema
sage : L = 2. # longitud de la viga
sage : Q = 0. # carga axial
sage : E = 2. e11 # modulo de elasticidad
sage : I = 7.85 e -9 # momento de inercia
sage : P = 150. # carga
sage : #
sage : # condiciones iniciales
sage : y10 = 0.
sage : y20 = 0.
sage : #
sage : # segundo miembro de la ecuacio n no lineal
sage : op = 0 # opciones :
170 Mtodos numricos para problemas de valor inicial
sage : if ( op == 0):
# carga uniformemente distribuida
R ( x ) = -( P /(2.* L ))*( L - x )^2/( E * I )
else :
# carga puntual en el extremo de la viga
R ( x ) = -P *( L - x )/( E * I )
sage : #
sage : # ## Me todo RK4 para sistemas ###
sage : #
sage : N = 20 # nu mero de particiones
sage : h = L / N # paso de malla
sage : #
sage : var ( x , y1 , y2 )
sage : # solucio n del caso no lineal
sage : sol_NL = d es ol ve_ sy st em_ rk 4 ([ y2 , R ( x )*(1.+ y2 )^1.5] , [ y1 , y2 ] ,
ics =[0 , y10 , y20 ] , ivar =x , step =h , end_points =2)
sage : #
sage : # solucio n del caso lineal
sage : sol_L = des ol ve _sy st em _rk 4 ([ y2 , R ( x )] , [ y1 , y2 ] ,
ics =[0 , y10 , y20 ] , ivar =x , step =h , end_points =2)
sage : #
sage : # dibujamos las soluciones
sage : sol1 = [[ i , j ] for (i , j , k ) in sol_NL ] # solucio n no lineal
sage : sol2 = [[ i , j ] for (i , j , k ) in sol_L ] # solucio n lineal
sage : fig1 = list_plot ( sol1 , legend_label = no lineal , size = 20 ,
gridlines = True )
sage : fig1 += line ( sol1 )
sage : fig2 = list_plot ( sol2 , color = red , legend_label = lineal )
sage : fig2 += line ( sol2 , color = red )
sage : show ( fig1 + fig2 )
En tal caso, la solucin del problema obtenida con N = 1000 particiones se representa
en la figura 5.16.
Figura 5.17: Pndulo perturbado: componente x de las soluciones obtenidas con distintas
velocidades iniciales.
174 Mtodos numricos para problemas de valor inicial
CAPTULO
6.1. Introduccin
En este tema nos centraremos en el desarrollo de mtodos numricos para la reso-
lucin de problemas de contorno, de la forma
00 0
y = f ( x, y, y ), x [ a, b],
y( a) = ,
y(b) = .
y00 ( x j ) + p j y0 ( x j ) + q j y( x j ) = r j , j = 1, . . . , N 1,
2h
xj-1 h xj h xj+1
y ( x j ) y ( x j 1 ) y ( x j ) y ( x j 1 )
y0 ( x j ) = m .
x j x j 1 h
y ( x j +1 ) y ( x j 1 ) y ( x j +1 ) y ( x j 1 )
y0 ( x j ) = mc .
x j +1 x j 1 2h
00 y0 ( x j )+ y0 ( x j )
y (xj ) ,
h
donde y0 ( x j ) son aproximaciones laterales de la primera derivada en x j . Tomando
m+ y0 ( x j )+ y m y0 ( x j ) , obtenemos:
y0 = ,
y = .
h
2 h2 q
1 p1 1 0 0 0
h 2
p 1 2 h2 q h
2 2 p2 1 0 0
2 2
.. .. .. ..
0 . . . .
.. h h ..
A=
. pj 1 2 h qj2 pj 1 .
2 2
. . . . .
.. .. .. .. ..
h h
0 2
p N 2 1 2 h q N 2 p N 2 1
2 2
h
0 0 p N 1 1 2 h 2 q N 1
2
Como vemos, la matriz A tiene estructura tridiagonal. Este tipo de matrices tiene innu-
merables ventajas desde un punto de vista numrico a la hora de resolver el sistema
lineal.
00 2
y y = x + 1, x [0, 1],
y(0) = 0,
y(1) = 0,
4e 3 x 4e 3e2 x
y ( x ) = 3 x 2 + e 2 e .
e2 1 e 1
Dividamos el intervalo [0, 1] en cuatro subintervalos; de este modo, N = 4, el paso
de malla es h = 14 y los nodos de la particin son x0 = 0, x1 = 14 , x2 = 12 , x3 = 34 y
x4 = 1. Evaluando la ecuacin diferencial en los nodos interiores, resulta:
y00 ( x j ) y( x j ) = x2j + 1, j = 1, 2, 3.
180 Mtodos numricos para problemas de contorno
2 + h2
2
1 0 y1 x1 + 1
1 2 + h2 1 y2 = h2 x22 + 1 .
0 1 2 + h2 y3 x32 + 1
La solucin de dicho sistema, una vez sustituidos los valores de h y de los nodos, es:
y despus
sage : # Error global
sage : max ( err )
0 .0 0 18 5 3 14 6 51 0 6 14 8 8
00
u ( x ) + q ( x ) u ( x ) = f ( x ), x [0, 1],
u(0) = 0, (1)
u(1) = 0,
Observacin. Si las condiciones de contorno son del tipo u(0) = , u(1) = , basta
con hacer el cambio w( x ) = u( x ) (1 x ) x para pasar a un problema equi-
valente con condiciones de contorno w(0) = 0, w(1) = 0. Asimismo, el cambio
w( x ) = u( a + (b a) x ) permite considerar el problema en un intervalo arbitrario
[ a, b]. Por otra parte, el aadir un trmino de la forma p( x )u0 ( x ) a la ecuacin no
6.3 Aproximacin variacional 183
Supongamos adems que v(0) = v(1) = 0 e integremos por partes la primera integral:
Z 1 Z 1 1 Z 1
00 0 0 0
u ( x )v( x ) dx = u ( x )v ( x ) dx u ( x )v( x ) u0 ( x )v0 ( x ) dx.
0
=
0 0 0
En tal caso, diremos que u V es una solucin dbil o variacional; notemos que las con-
diciones de contorno u(0) = u(1) = 0 se verifican de forma automtica al pertenecer
u al espacio V.
184 Mtodos numricos para problemas de contorno
de donde
n Z 1 n Z 1 n Z 1
vi 0
u0h ( x ) i0 ( x ) dx + vi
0
q( x )uh ( x ) i ( x ) dx = vi 0
f ( x ) i ( x ) dx,
i =1 i =1 i =1
y por tanto
n Z 1 Z 1 n Z 1
vi 0
u0h ( x ) i0 ( x ) dx +
0
q( x )uh ( x ) i ( x ) dx = vi 0
f ( x ) i ( x ) dx.
i =1 i =1
Al ser los coeficientes {v1 , . . . , vn } arbitrarios, deducimos que la ecuacin (3) es equi-
valente a
Z 1 Z 1 Z 1
u0h ( x ) i0 ( x ) dx + q( x )uh ( x ) i ( x ) dx = f ( x ) i ( x ) dx, i = 1, . . . , n,
0 0 0
es decir, basta con que la ecuacin (3) se verifique para los elementos i de la base.
Escribamos ahora la solucin buscada uh en la base { 1 , . . . , n }:
n
uh ( x ) = u j j ( x ), u1 , . . . , un R.
j =1
6.3 Aproximacin variacional 185
o, lo que es lo mismo,
n Z 1 Z 1
Z 1
uj 0
0
0
i ( x ) j ( x ) dx +
0
q( x ) i ( x ) j ( x ) dx =
0
f ( x ) i ( x ) dx, i = 1, . . . , n.
j =1
Si denotamos
Z 1 Z 1 Z 1
aij = i0 ( x ) 0j ( x ) dx + q( x ) i ( x ) j ( x ) dx, fi = f ( x ) i ( x ) dx,
0 0 0
AU = F,
donde
a11 a12 a1n u1 f1
a
21 a22 a2n
u2 f2
A= . .. .. .. , U = . , F = . .
.. . . . .. ..
an1 an2 ann un fn
La solucin del sistema nos permitir construir la solucin del problema discreto (3).
La matriz A se denomina matriz de rigidez y F es el vector de cargas1 , aunque en teora
no tengan significado fsico alguno.
Observacin. La solucin U = (u1 , . . . , un ) T del sistema lineal permite construir la
solucin numrica de la forma
u h ( x ) = u1 1 ( x ) + u2 2 ( x ) + + u n n ( x ).
En resumen, hemos visto cmo la solucin del problema variacional (2) puede
aproximarse mediante la solucin de un problema discreto (3), cuyo clculo se reduce
a la resolucin de un sistema lineal. En la siguiente seccin veremos cmo elegir los
elementos i de la base de forma adecuada para que el sistema pueda resolverse de
la forma ms eficiente posible.
xi-1 xi xi+1
1
si xi1 < x < xi ,
h
i0 ( x ) = 1
si xi < x < xi+1 ,
h
0 en otro caso.
Ntese que las funciones i ( x ) y i0 ( x ) se anulan fuera del intervalo ( xi1 , xi+1 ).
Puede demostrarse que la familia de funciones { 1 , . . . , N 1 } constituyen una
base del subespacio vectorial Vh formado por las funciones continuas y lineales a
trozos en [0, 1] que se anulan en los extremos x = 0 y x = 1; en particular, la dimensin
de Vh es n = N 1.
x x i 1 2
Z xi Z x i +1 2
x x 2h
i +1
= dx + dx = ,
x i 1 h xi h 3
i-1 i i i+1 i j
y
Z 1 Z x i +1
x i +1 x h x xi
dx = .
i ( x ) i+1 ( x ) dx =
0 xi h h 6
Razonando de manera anloga, se deducen las siguientes expresiones:
Z 1 1 1
2 1 1
Z Z
i0 ( x ) i0 ( x ) dx =
, i0 ( x ) i01 ( x ) dx = , i0 ( x ) i0+1 ( x ) dx = .
0 h 0 h 0 h
Finalmente, deducimos las frmulas para los coeficientes aij :
2 2
+ qh si j = i,
h 3
aij = 1 + 1 qh si j = i 1 o j = i + 1,
h 6
0
en otro caso.
Por otra parte, notemos que
Z 1 Z xi Z x i +1
x x i 1 x i +1 x h h
i ( x ) dx = dx + dx = + = h,
0 x i 1 h xi h 2 2
lo que implica que todos los coeficientes f i tienen la siguiente forma:
f i = f h, i = 1, . . . , N 1.
A partir de los resultados obtenidos, podemos escribir el sistema lineal que define
el mtodo de elementos finitos como sigue:
2 + 23 qh2 1 + 16 qh2 0 0 0 u1 h2 f
00
u ( x ) + u( x ) = 2, x [0, 1],
u(0) = 0,
u(1) = 0,
2
u( x ) = (e x + e1x ) + 2.
1+e
Para construir la formulacin variacional del problema, multiplicamos la ecuacin
dife-rencial por una funcin arbitraria v( x ), que sea de clase C1 a trozos en [0, 1] y
verifique v(0) = v(1) = 0, y a continuacin integramos en [0, 1]:
Z 1 Z 1 Z 1
00
u ( x )v( x ) dx + u( x )v( x ) dx = 2v( x ) dx.
0 0 0
1 2 3
Z 1 Z 1 Z 1
u0h ( x )v0h ( x ) dx + uh ( x )vh ( x ) dx = 2vh ( x ) dx, vh Vh .
0 0 0
Z 1
u0h ( x )(v1 10 ( x ) + v2 20 ( x ) + v3 30 ( x )) dx +
0
Z 1
uh ( x )(v1 1 ( x ) + v2 2 ( x ) + v3 3 ( x )) dx
0
Z 1
= 2(v1 1 ( x ) + v2 2 ( x ) + v3 3 ( x )) dx.
0
6.4 Mtodo de elementos finitos 191
1 Z 1
Z
v1 u0h ( x ) 10 ( x ) dx +
uh ( x ) 1 ( x ) dx +
0 0
Z 1 Z 1
0 0
v2 uh ( x ) 2 ( x ) dx + uh ( x ) 2 ( x ) dx +
0 0
Z 1 Z 1
0 0
v3 uh ( x ) 3 ( x ) dx + uh ( x ) 3 ( x ) dx
0 0
Z 1 Z 1 Z 1
= v1 21 ( x ) dx + v2 22 ( x ) dx + v3 23 ( x ) dx.
0 0 0
Z 1 Z 1 Z 1
u0h ( x ) 10 ( x ) dx + uh ( x ) 1 ( x ) dx = 21 ( x ) dx.
0 0 0
Z 1 Z 1 Z 1
u0h ( x ) 20 ( x ) dx + uh ( x ) 2 ( x ) dx = 22 ( x ) dx,
0 0 0
mientras que
Z 1 Z 1 Z 1
u0h ( x ) 30 ( x ) dx + uh ( x ) 3 ( x ) dx = 23 ( x ) dx
0 0 0
resulta al elegir v1 = v2 = 0 y v3 = 1.
Como la solucin buscada uh es un elemento de Vh , podemos escribirla en la forma
u h ( x ) = u1 1 ( x ) + u2 2 ( x ) + u3 3 ( x ),
Z 1
(u1 10 ( x ) + u2 20 ( x ) + u3 30 ( x )) 10 ( x ) dx +
0
Z 1
(u1 1 ( x ) + u2 2 ( x ) + u3 3 ( x )) 1 ( x ) dx
0
Z 1
= 21 ( x ) dx,
0
192 Mtodos numricos para problemas de contorno
de donde
1 Z 1
Z
u1 10 ( x ) 10 ( x ) dx +
1 ( x ) 1 ( x ) dx +
0 0
Z 1 Z 1
0 0
u2 1 ( x ) 2 ( x ) dx + 1 ( x ) 2 ( x ) dx +
0 0
Z 1 Z 1
0 0
u3 1 ( x ) 3 ( x ) dx + 1 ( x ) 3 ( x ) dx
0 0
Z 1
= 21 ( x ) dx.
0
Si definimos
Z 1 Z 1 Z 1
aij = i0 ( x ) 0j ( x ) dx + i ( x ) j ( x ) dx, fi = 2i ( x ) dx,
0 0 0
la expresin anterior puede escribirse como:
a11 u1 + a12 u2 + a13 u3 = f 1 .
De manera totalmente anloga, pueden deducirse las ecuaciones
a21 u1 + a22 u2 + a23 u3 = f 2
y
a31 u1 + a32 u2 + a33 u3 = f 3 .
Los coeficientes aij y f i se determinan explcitamente:
49
a11 = a22 = a33 = 24 , a12 = a21 = a23 = a32 = 95 1
96 , a13 = a31 = 0, f 1 = f 2 = f 3 = 8 .
En resumen, las incgnitas {u1 , u2 , u3 } se obtienen como solucin de un sistema
lineal de tres ecuaciones, que en forma matricial se escribe como
49
95
1
24 96 0 u1 8
95 49 95 1
96 24 u
96 2 = 8 .
95 49 u3 1
0 96 24 8
Obviamente, dicho sistema corresponde al caso general con q = 1 y f = 2.
La solucin del sistema viene dada por
u1 0,171462, u2 0,227438, u3 0,171462.
El error ei = |u( xi ) ui | cometido en cada nodo interior puede determinarse en este
caso, ya que conocemos la solucin exacta:
e1 0,000815, e2 0,001076, e3 0,000815.
El error global cometido es pues e = max(e1 , e2 , e3 ) 0,001076.
Los resultados obtenidos se representan en la figura 6.6, que ha sido generada con
el siguiente cdigo Sage:
6.4 Mtodo de elementos finitos 193
sage : #
sage : # ## Me todo de elementos finitos ###
sage : #
sage : # Ecuacio n : -u + qu = f ( x ) , a <x < b .
sage : # Condiciones de contorno de tipo Dirichlet :
sage : # u ( a )=0 , u ( b )=0.
sage : #
sage : #
sage : # Datos del problema
sage : #
sage : a = 0. # extremo inferior del intervalo
sage : b = 1. # extremo superior del intervalo
sage : #
sage : N = 4 # nu mero de particiones
sage : #
sage : q = 1. # coeficiente de u
sage : f ( x ) = 2. # te rmino independiente
sage : #
sage : alpha = 0. # c . contorno izquierda
sage : beta = 0. # c . contorno derecha
sage : #
sage : # ## Implementacio n del me todo ###
sage : #
sage : h = (b - a )/ N # paso de malla
sage : #
sage : X = vector ([ a + j * h for j in range ( N +1)]) # mallado
sage : U = vector ([0. for i in range ( N +1)]) # solucio n
sage : #
sage : # condiciones de contorno
sage : U [0] = alpha
sage : U [ N ] = beta
sage : #
sage : # te rmino independiente
sage : F = vector ([0. for i in range (N -1)])
sage : for i in range (1 , N ):
aux = integral ( f ( x )*( x - X [i -1])/ h , x , X [i -1] , X [ i ])
194 Mtodos numricos para problemas de contorno
00 0
y = f ( x, y, y ), x [ a, b],
y( a) = ,
y(b) = ,
6.6. Aplicaciones
Vamos a estudiar la deformacin sufrida por una viga empotrada, con cargas axia-
les y transversales. Bajo la hiptesis de pequeas deformaciones (esto es, y0 ( x ) 0),
196 Mtodos numricos para problemas de contorno
Figura 6.7: Deflexin, debido a su propio peso, de una viga tridimensional empotrada en un
extremo.
Q M( x)
00
y ( x ) EI y( x ) = EI , x [0, L],
y(0) = 0,
y( L) = 0,
P
M( x) = x ( L x ).
2
Q Q
Figura 6.8: Deflexin de una viga empotrada con cargas axiales y transversales: esquema.
6.6 Aplicaciones 197
sage : #
sage : # ## Implementacio n del me todo ###
sage : #
sage : h = (b - a )/ N # paso de malla
sage : #
sage : X = vector ([ a + j * h for j in range ( N +1)]) # mallado
sage : Y = vector ([0. for j in range ( N +1)]) # solucio n
sage : #
sage : # condiciones de contorno
sage : Y [0] = alpha
sage : Y [ N ] = beta
sage : #
sage : # te rmino independiente
sage : B = vector ([( - h ^2)* r ( X [ j +1]) for j in range (N -1)])
sage : B [0] += alpha *(1 -0.5* h * p ( X [1]))
sage : B [N -2] += beta *(1+0.5* h * p ( X [N -1]))
sage : #
sage : # matriz del sistema
sage : A = matrix ( RR , N -1 , N -1)
sage : #
sage : for j in range (1 , N -1):
A [j -1 , j -1] = 2. - q ( X [ j ])* h ^2 # diagonal
A [j -1 , j ] = -1. -0.5* h * p ( X [ j ]) # superdiagonal
A [j , j -1] = -1.+0.5* h * p ( X [ j ]) # subdiagonal
sage : A [N -2 , N -2] = 2. - q ( X [N -1])* h ^2 # u ltimo elemento de la diagonal
sage : #
sage : # solucio n del sistema lineal
sage : sol = A . inverse ()* B # y = A ^( -1)* B
sage : #
sage : # actualizacio n del vector y
sage : for j in range (0 , N -1):
Y [ j +1] = sol [ j ]
sage : #
sage : # ################################
sage : #
sage : # dibujamos los puntos
sage : sol = zip (X , Y )
sage : fig = list_plot ( sol )
sage : # los unimos con segmentos
sage : fig += line ( sol )
sage : # y mostramos el resultado
sage : show ( fig )
sage : #
sage : # Datos del problema
sage : #
sage : L = 2. # longitud de la viga
sage : Q = 100. # carga axial
sage : E = 2. e11 # modulo de elasticidad
sage : I = 7.85 e -9 # momento de inercia
sage : P = 150. # carga transversal
sage : #
sage : a = 0. # extremo inferior del intervalo
sage : b = L # extremo superior del intervalo
sage : #
sage : N = 20 # nu mero de particiones
sage : #
sage : q = Q /( E * I ) # coeficiente de u
sage : r ( x ) = -0.5* P * x *( L - x )/( E * I ) # te rmino independiente
sage : #
sage : alpha = 0. # c . contorno izquierda
sage : beta = 0. # c . contorno derecha
sage : #
sage : # ## Implementacio n del me todo ###
sage : #
sage : h = (b - a )/ N # paso de malla
sage : #
sage : X = vector ([ a + j * h for j in range ( N +1)]) # mallado
sage : U = vector ([0. for i in range ( N +1)]) # solucio n
sage : #
sage : # condiciones de contorno
sage : U [0] = alpha
sage : U [ N ] = beta
sage : #
sage : # te rmino independiente
sage : F = vector ([0. for i in range (N -1)])
sage : for i in range (1 , N ):
aux = integral ( f ( x )*( x - X [i -1])/ h , x , X [i -1] , X [ i ])
aux += integral ( f ( x )*( X [ i +1] - x )/ h , x , X [ i ] , X [ i +1])
F [i -1] = h * aux
sage : #
sage : # matriz del sistema
sage : A = matrix ( RR , N -1 , N -1)
sage : #
sage : for i in range (1 , N -1):
A [i -1 , i -1] = 2.+(2/3)* q * h ^2 # diagonal
A [i -1 , i ] = -1.+(1/6)* q * h ^2 # superdiagonal
A [i , i -1] = -1.+(1/6)* q * h ^2 # subdiagonal
sage : A [N -2 , N -2] = 2.+(2/3)* q * h ^2 # u ltimo elemento de la diagonal
sage : #
sage : # solucio n del sistema lineal
sage : sol = A . inverse ()* F # U = A ^( -1)* F
sage : #
sage : # actualizamos el vector U
sage : for i in range (N -1):
U [ i +1] = sol [ i ]
sage : #
sage : # ################################
sage : #
sage : # dibujamos los puntos
sage : points = zip (X , U )
sage : fig = list_plot ( points )
200 Mtodos numricos para problemas de contorno
Ntese que el trmino independiente no es constante en este caso, por lo que se han
calculado numricamente las integrales correspondientes.
BIBLIOGRAFA COMPLEMENTARIA
[3] S.C. Chapra, R.P. Canale. Mtodos Numricos para Ingenieros. McGraw-Hill, 2003.
[4] C.H. Edwards, D.E. Penney. Ecuaciones Diferenciales Elementales y Problemas con
Condiciones en la Frontera. Prentice Hall, 2000.
[5] E. Hairer, S.P. Norsett, G. Wanner. Solving Ordinary Differential Equations. vols. I-II,
Springer, 2010.
[7] M.L. Krasnov, A.I. Kiseliov, G.I. Makrenko. Ecuaciones Diferenciales Ordinarias.
URSS, 2005.
[8] R.J. LeVeque. Finite Difference Methods for Ordinary and Partial Differential Equa-
tions. SIAM, 2007.
[9] J.H. Mathews, K.D. Fink. Mtodos Numricos con Matlab. Prentice-Hall, 2005.
[10] R.K. Nagel, E.B. Saff, A.D. Snider. Ecuaciones Diferenciales y Problemas con Valores
en la Frontera. Pearson, 2002.
[11] J.H. Saiac. Mthode des lments Finis. Analyse Numrique des quations aux Drives
Partielles. http://www.cnam.fr/maths/Membres/saiac/polyB4.pdf
202 BIBLIOGRAFA COMPLEMENTARIA
[12] G.F. Simmons, S.G. Krantz. Ecuaciones Diferenciales. Teora y Prctica. McGraw-Hill,
2007.