1. Programa de Doctorado: Tecnologías Industriales y de
Comunicación
Matemática Numérica
Tema 2: Ecuaciones diferenciales ordinarias
1. Introducción
Una ecuación de primer orden tiene la forma
dy
dt
= f (t; y) ; (1)
donde f : R R ! R es una función de dos variables.
De…nición. Una solución de la ecuación en el intervalo a < t < b (o a t b) es una función
continua y (t) tal que existe la primera derivada en el intervalo y satisface (1) para todo t 2 (a; b) (o
[a; b]).
Si la solución no puede ser extendida a un intervalo más grande decimos que la solución es maximal.
Por ejemplo, y (t) = et
es solución de
dy
dt
= y
en (a; b) = ( 1; +1). Luego es maximal.
En general existen in…nitas soluciones de una ecuación diferencial. Así, la función y (t) = Cet
es
solución de la anterior ecuación para toda constante C. Para restringir las posibles soluciones a una
sola hemos de imponer condiciones adicionales. Plantearemos el problema de Cauchy (también llamado
problema con condiciones iniciales):
dy
dt
= f (t; y) ; (2)
y (t0) = y0:
Es decir, …jamos el valor de la solución en un momento t0 y a partir de ese momento hallamos la solución
correspondiente.
Aún así, existen ecuaciones para las cuales el problema de Cauchy posee más de una solución. Por
ello, necesitamos imponer condiciones sobre la función f que nos garanticen que la solución exista y sea
única en un intervalo dado [t0; t0 + ].
Antes de estudiar el teorema que nos garantiza la existencia y unicidad de la solución veremos por qué
esto es importante. Nuestro objetivo consiste en aproximar la solución única de una ecuación diferencial en
un intervalo [t0; t0 + ]. Hay que hacer notar que, si bien existen métodos para resolver de forma analítica
una parte de las ecuaciones diferenciales, la gran mayoría de ellas no son resolubles explicitamente, por
lo que resulta necesario poder aproximar la solución mediante un método numérico. Si en una parte de
este intervalo la solución no existe, estaremos aproximando una función que no existe, obteniendo por
tanto un resultado claramente erroneo. Por ejemplo, consideremos la ecuación
y0
= y2
;
y (0) = 1:
1
2. Esta ecuación se resuelve mediante integración:
Z y
1
dy
y2
=
Z t
0
dt;
1
y
+
1
1
= t ) y =
1
1 t
:
Vemos que la solución está de…nida en el intervalo ( 1; 1) ; pero no existe para t 1. Si implementamos
un método numérico en el intervalo [0; 2] estaremos realizando un trabajo incorrecto.
Teorema 1 Sean f y
@f
@y
funciones continuas en el rectángulo R : t0 a t t0 + a, jy y0j b; y
sean
M = max
(t;y)2R
jf (t; y)j ; = m n a;
b
M
:
Entonces el problema de Cauchy (2) posee una única solución y (t) en el intervalo [t0 ; t0 + ].
En el ejemplo anterior pongamos a = 2; b = 1. Entonces,
M = (1 + b)
2
= 4;
= m n 2;
1
4
=
1
4
:
La solución existe y es única en 1
4 ; 1
4 .
Evidentemente, este método es limitado, ya que hemos visto que la solución existe en ( 1; 1). A la
hora de implementar los métodos numéricos en este curso siempre supondremos que la solución existe
y es única en el intervalo [t0; t0 + ] en el que estudiaremos la ecuación. Existe una teoría que permite
estudiar si la solución existe en todo el intervalo [t0; t0 + ], pero esta queda fuera de los objetivos del
curso. Un resultado importante es el siguiente: si la derivada está acotada en todo el plano, entonces la
solución existe y es única en cualquier intervalo [t0; t0 + ], > 0. Por ejemplo,
dy
dt
=
y
1 + y2
;
d
dy
y
1 + y2
=
1 y2
(1 + y2)
2 ;
por lo que la solución existe globalmente.
Notemos …nalmente que si la función f está acotada y f; fy son continuas en todo el plano R2
, entonces
la solución existe en toda la recta ( 1; +1). Efectivamente, en ese caso podemos elegir a; b tan grande
como queramos y
= m n a;
b
M
tomará un valor tan grande como queramos, pues M no depende de b ni de a.
2. El método de Euler
A la hora de resolver la ecuación diferencial numéricamente no buscaremos una función diferenciable,
sino que hallaremos el valor aproximado de la solución en un número …nito de puntos. El primer método
que veremos es el método Euler. Este método no se suele utilizar en la práctica, ya que acumula errores
apreciables a lo largo del proceso, pero es importante estudiarlo para entender las ideas y para construir
a partir de él métodos más complejos y precisos.
Por comodidad dividiremos el intervalo [t0; t0 + ] en el que buscamos la solución en N intervalos de
igual longitud h = N de…nidos por los puntos
t0 < t1 = t0 + h < t2 = t0 + 2h < ::: < tN = t0 + Nh = t0 + :
2
3. En cada punto tj; j = 0; 1; :::; N 1 aproximamos la derivada con el esquema hacia delante
dy
dt
(t) '
y (t + h) y (t)
h
:
Entonces tenemos
yj+1 yj
h
= f (tj; yj) ;
yj+1 = yj + hf (tj; yj) ;
j = 0; 1; 2; :::; N 1;
donde yj es la aproximación de y (tj) :
Desde el punto de vista geométrico lo que estamos haciendo es desplazarnos a lo largo de la recta
generada por el punto (tj; yj) y la pendiente de la curva f (t; y) en ese punto.
Ejemplo 1. Resolver numéricamente el problema de Cauchy
y0
= 0;1y;
y (0) = 100;
con h = 0;1 en el intervalo [0; 0;5].
Solución.
El esquema es
yj+1 = yj + 0;12
yj = 1;01yj:
De aquí:
y1 = 100 + 0;12
100 = 101;0;
y2 = 1;01 101 = 102: 01;
y3 = 1;01 102;01 = 103: 030 1;
y4 = 1;01 103: 030 1 = 104: 060 401;
y5 = 1;01 104: 060 401 = 105: 101 005:
La solución exacta es y (t) = 100e0;1t
. Entonces
y (0;5) = 100e0;1 0;5
= 105: 127 109 6;
Error = j105: 101 005 105: 127 109 6j = 0;026 104 6:
Ejemplo 2. Resolver
y0
=
t y
2
;
y (0) = 1;
en el intervalo [0; 2] con h = 0;5.
Solución.
El esquema es
yj+1 = yj + 0;5
tj yj
2
:
Así,
y1 = 1 + 0;5
0 1
2
= 0;75;
y2 = 0;75 + 0;5
0;5 0;75
2
= 0;687 5;
y3 = 0;687 5 + 0;5
1 0;687 5
2
= 0;765 625;
y4 = 0;765 625 + 0;5
1;5 0;765 625
2
= 0;949 218 75:
3
4. La solución exacta es y = t 2 + ce
t
2 = t 2 + 3e
t
2 , por lo que
y (2) = 3 e 1
= 1: 103 638 32:
El error es igual a
Error = j1: 103 638 32 0;949 218 75j = 0;154 419 57:
Ejemplo 3. Dado el problema de Cauchy
y0
= y2
; y (0) = 1;
hallar y (0;75) e y (1) con h = 0;25:
Solución.
Tenemos que
y1 = 1 + 0;25 12
= 1;25;
y2 = 1;25 + 0;25 (1;25)
2
= 1: 640 625
y3 = 1: 640 625 + 0;25 (1: 640 625)
2
=
2: 313 538 ' y (0;75)
y4 = 2: 313 538 + 0;25 (2: 313 538)
2
= 3: 651 653:
La solución exacta de este problema es y (t) = 1
1 t , por lo que y (0;75) = 4 y en y (1) la solución
no existe. Por tanto, el último número que aproxima y (1) es claramente erróneo. El error de cálculo en
t = 0;75 es
Error = j2: 313 538 4j = 1: 686 462:
2.1. Análisis del error
El método de Euler es un método de un sólo paso, ya que en el cálculo de yj+1 sólo interviene el valor
yj. En este caso podemos obtener un análisis bastante preciso del error cometido. Existen dos fuentes de
error: el de discretización y el de redondeo. Analizaremos primero el error de discretización.
El error de discretización global ek se de…ne por
ek = y (tk) yk;
es decir, como la diferencia entre el valor obtenido y el real de la solución (sin tener en cuenta el error de
redondeo).
El error de discretización …nal en el intervalo es eN , donde N es el número de subintervalos.
El error global se obtiene sumando el error de discretización y el de redondeo, al igual que vimos en
la diferenciación numérica.
Veamos que, bajo ciertas condiciones en la función f, podemos obtener una estimación del error de
discretización y del error globales.
Teorema 2 Sea y (t) la solución de (2). Si @f
@y está de…nida y @f
@y L, 8 t 2 [t0; t0 + ], y 2 R, y
además y00
es continua y jy00
j M1, 8t 2 [t0; t0 + ], entonces
jekj = jy (tk) ykj
hM1
2L
eL(tk t0)
1 : (3)
Es decir, que
jekj Ch;
por lo que el orden de aproximación es O (h) :
4
5. Prueba.
El resultado es evidente para k = 0, ya que y (t0) = y0:
Consideremos un y (tk+1) arbitrario. Usando la serie de Taylor tenemos
y (tk+1) = y (tk) + hy0
(tk) +
h2
2
y00
( k)
= y (tk) + hf (tk; y (tk)) +
h2
2
y00
( k) ;
ya que y0
(tk) = f (tk; y (tk)) por ser y (t) solución de la ecuación. Por otro lado, según el método de Euler
yk+1 = yk + hf (tk; yk) ;
luego
y (tk+1) yk+1 = y (tk) yk + h ((tk; y (tk)) f (tk; yk)) +
h2
2
y00
( k) ;
jy (tk+1) yk+1j jy (tk) ykj + h jf (tk; y (tk)) f (tk; yk)j +
h2
2
jy00
( k)j :
Notemos que jy00
( k)j M1 y que por el teorema del valor medio
jf (tk; y (tk)) f (tk; yk)j =
@f
@y
(tk; ) jy (tk) ykj L jy (tk) ykj :
Así,
jy (tk+1) yk+1j (1 + Lh) jy (tk) ykj +
h2
M1
2
:
Sea M = h2
M1
2 : Como jy (tk) ykj satisface la misma desigualdad, es decir,
jy (tk) ykj (1 + Lh) jy (tk 1) yk 1j + M;
obtenemos
jy (tk+1) yk+1j (1 + Lh) ((1 + Lh) jy (tk 1) yk 1j + M) + M
= (1 + Lh)
2
jy (tk 1) yk 1j + (1 + (1 + Lh)) M:
Repitiendo la misma operación tenemos
jy (tk+1) yk+1j (1 + Lh)
2
((1 + Lh) jy (tk 2) yk 2j + M) + (1 + (1 + Lh)) M
= (1 + Lh)
3
jy (tk 2) yk 2j + 1 + (1 + Lh) + (1 + Lh)
2
M:
Tras sucesivas iteradas podemos ver que
jy (tk+1) yk+1j (1 + Lh)
k+1
jy (t0) y0j + 1 + (1 + Lh) + (1 + Lh)
2
+ ::: + (1 + Lh)
k
M
= 1 + (1 + Lh) + (1 + Lh)
2
+ ::: + (1 + Lh)
k
M
=
1 (1 + Lh)
k+1
1 (1 + Lh)
M =
(1 + Lh)
k+1
1
Lh
M:
Además, 1 + Lh eLh
, ya que, por la serie de Taylor en torno al cero
eLh
= 1 + Lh +
L2
h2
2
e :
Por tanto, (1 + Lh)
k+1
eLh(k+1)
y
jy (tk+1) yk+1j
eLh(k+1)
1
Lh
M =
hM1
2L
eLh(k+1)
1
=
hM1
2L
eL(tk+1 t0)
1 ;
5
6. pues (k + 1) h = tk+1 t0:
Por tanto, hemos obtenido (3).
Notemos que en muchos casos se puede obtener la cota de y00
sin conocer la función y. Usando la regla
de la cadena vemos que
y00
(t) =
d
dt
y0
(t) =
@f
@t
(t; y (t)) +
@f
@y
(t; y (t)) f (t; y (t)) :
Si tenemos una cota uniforme de la función f y sus derivadas parciales podemos obtener una cota uniforme
de y00
:
Por otro lado, esta cota del error implica que si reducimos h a la mitad el error de truncamiento se
reducirá a la mitad aproximadamente.
Es importante observar que las condiciones dadas en este teorema no son óptimas, pero permiten tener
una cota explícita del error. El orden de convergencia O (h) se ha probado bajo condiciones más generales.
en particular, el resultado es cierto si f 2 C1
([t0; t0 + ] R). Además, si sabemos que jy (t) y0j b,
8t 2 [t0; t0 + ], entonces la estimación (3) es cierta si elegimos
L max
(t;y)2G
@f
@y
(t; y) , G = [t0; t0 + ] [y0 b; y0 + b];
M1 = M0 + LM;
M0 max
(t;y)2G
@f
@t
(t; y) ; M max
(t;y)2G
jf (t; y)j :
Si elegimos t1 = t0 +h y desarrollamos la serie de Taylor del exponente en (3), obtenemos que el error
de discretización del método en cada uno de los pasos individuales es de orden O h2
. Sin embargo, al
sumarse en los N pasos da un error de orden O (h).
Veamos ahora una estimación del error global.
Si tenemos en cuenta el error de redondeo, entonces el esquema de Euler se transforma en
u0 = y0 + 0;
uk+1 = uk + hf (tk; uk) + k+1; k = 0; 1; :::; N 1;
donde k es el error de redondeo asociado a cada paso k. Supondremos que j kj .
Teorema 3 Bajo las condiciones del Teorema 2 se cumple que
Error globalk = jy (tk) ukj
1
L
hM1
2
+
h
eL(tk t0)
1 + j 0j e
L(tk t0)
: (4)
Prueba.
El resultado es evidente para k = 0, ya que y (t0) = y0 = u0 0:
Consideremos un y (tk+1) arbitrario. Usando la serie de Taylor tenemos
y (tk+1) = y (tk) + hy0
(tk) +
h2
2
y00
( k)
= y (tk) + hf (tk; y (tk)) +
h2
2
y00
( k) ;
ya que y0
(tk) = f (tk; y (tk)) por ser y (t) solución de la ecuación. Por otro lado, según el método de Euler
uk+1 = uk + hf (tk; uk) + k+1;
luego
y (tk+1) uk+1 = y (tk) uk + h ((tk; y (tk)) f (tk; uk)) +
h2
2
y00
( k) k+1;
6
7. jy (tk+1) uk+1j jy (tk) ukj + h jf (tk; y (tk)) f (tk; uk)j +
h2
2
jy00
( k)j + :
Notemos que jy00
( k)j M1 y que por el teorema del valor medio
jf (tk; y (tk)) f (tk; uk)j =
@f
@y
(tk; ) jy (tk) ukj L jy (tk) ukj :
Así,
jy (tk+1) uk+1j (1 + Lh) jy (tk) ukj +
h2
M1
2
+ :
Sea M = h2
M1
2 + : Como jy (tk) ukj satisface la misma desigualdad, es decir,
jy (tk) ukj (1 + Lh) jy (tk 1) uk 1j + M;
obtenemos
jy (tk+1) uk+1j (1 + Lh) ((1 + Lh) jy (tk 1) uk 1j + M) + M
= (1 + Lh)
2
jy (tk 1) uk 1j + (1 + (1 + Lh)) M:
Repitiendo la misma operación tenemos
jy (tk+1) uk+1j (1 + Lh)
2
((1 + Lh) jy (tk 2) uk 2j + M) + (1 + (1 + Lh)) M
= (1 + Lh)
3
jy (tk 2) uk 2j + 1 + (1 + Lh) + (1 + Lh)
2
M:
Tras sucesivas iteradas podemos ver que
jy (tk+1) uk+1j (1 + Lh)
k+1
jy (t0) u0j + 1 + (1 + Lh) + (1 + Lh)
2
+ ::: + (1 + Lh)
k
M
= (1 + Lh)
k+1
0 + 1 + (1 + Lh) + (1 + Lh)
2
+ ::: + (1 + Lh)
k
M
= (1 + Lh)
k+1
0 +
1 (1 + Lh)
k+1
1 (1 + Lh)
M = (1 + Lh)
k+1
0 +
(1 + Lh)
k+1
1
Lh
M:
Además, 1 + Lh eLh
, ya que, por la serie de Taylor en torno al cero
eLh
= 1 + Lh +
L2
h2
2
e :
Por tanto, (1 + Lh)
k+1
eLh(k+1)
y
jy (tk+1) uk+1j eLh(k+1)
0 +
eLh(k+1)
1
Lh
M
= eLh(k+1)
0 +
hM1
2L
+
Lh
eLh(k+1)
1
=
1
L
hM1
2
+
h
eL(tk+1 t0)
1 + j 0j e
L(tk+1 t0)
;
pues (k + 1) h = tk+1 t0:
Por tanto, hemos obtenido (4).
Obervamos que, al igual que ocurría con la derivación numérica, ahora
l m
h!0
1
L
hM1
2
+
h
eL(tk t0)
1 + j 0j e
L(tk t0)
= 1:
Existirá por tanto un h óptimo, a partir del cual el error empeora.
7
8. Hallaremos el valor de h óptimo para la estimación del error:
hM1
2
+
h
0
=
M1
2 h2
= 0 ) h =
r
2
M1
:
Evidentemente, podemos disminuir el valor de h siempre y cuando hagamos lo mismo con el error
máximo de redondeo. Más concretamente, si el error de redondeo en cada paso es de orden O h2
como
mínimo éste no afectará el resultado y seguiremos teniendo una aproximación de orden O h2
. Si, por
ejemplo, h = 0;01, entonces el error de redondeo no deberá se superior a c 0;0001, orden de magnitud
superado con creces por cualquier ordenador. De hecho, si, por ejemplo, los cálculos se realizan con una
precisión de 10 16
, entonces el error de redondeo es despreciable con respecto al error de discretización.
En este caso c 10 8
sería el límite para el valor de h; a partir de ahí el error de redondeo sería más
importante que el de discretización. Esto quiere decir que si disminuimos h hemos de disminuir a su vez el
error de redondeo. De lo contrario se produciría un fenómeno semejante al que ocurre con las derivadas.
Llegaría un momento en el cual el error comenzaría a aumentar.
Finalmente, es importante resaltar que elegir h muy pequeños implica elevar el tiempo de cálculo de
manera considerable, lo que nos es conveniente desde el punto de vista práctico. Por ello, resulta más
adecuado elegir h no demasiado pequeño, pero contar con métodos de mayor precisión, como veremos a
continuación. Otro aspecto importante reside en que con h …jo sólo podemos asegurar una cota del error
pequeño para valores de que no sean grandes, ya que la cota se va a 1 a medida que ! +1:
Ejemplo 1. Dada al ecuación dy
dt = y
1+y2 :
1. Mostrar que el problema de Cauchy posee una única solución de…nida en cualquier intervalo [t0; t0 +
];
2. Dado que = 10 10
y h = 0;01 hallar una cota del error de discretización y del error global en
función de ;
3. Hallar el valor óptimo de h y la estimación del error global correspondiente.
Solución.
Vemos que f (t; y), @f
@y (t; y) son una funciones continuas en R2
. Como
d
dy
y
1 + y2
=
1 y2
(1 + y2)
2 ;
1 y2
(1 + y2)
2 2;
la derivada @f
@y está globalmente acotada, lo que implica la existencia de una única solución de…nida en
cualquier intervalo [t0; t0 + ], como se vió en la introdución del tema.
Además, como jyj 1 implica jf (t; y)j jyj 1, y jyj 1 nos da también jf (t; y)j jyj
y2
1
jyj 1,
obtenemos que
jy00
(t)j
@f
@t
(t; y (t))
| {z }
=0
+
@f
@y
(t; y (t)) jf (t; y (t))j 2 = M1:
Por tanto, aplicando el Teorema 2 obtenemos la cota del error de discretización:
jeN j = jy (tN ) yN j 0;005 e2
1 :
Por otro lado, aplicando el Teorema 3 obtenemos la cota del error global:
Error globalN = jy (tN ) uN j
1
2
0;01 +
10 10
0;01
e2
1 + 10 10
e
2
= 0;005 000 005 e2
1 + 10 10
e
2
' 0;005 e2
1 :
Vemos que la estimación del error global es prácticamente igual a la de discretización.
8
9. El valor óptimo de h es
h =
r
2
M1
= 10 5
:
De aquí
Error globalN
1
2
10 5
+
10 10
10 5
e2
1 + 10 10
e
2
= 10 5
e2
1 + 10 10
e
2
' 10 5
e2
1 :
Ejemplo 2. Dado el problema de Cauchy
y0
= y2
; y (0) = 1:
1. Determinar tal que la solución existe en [0; ];
2. Hallar una cota del error de discretización si h = 0;001:
Solución.
Aplicamos el Teorema 1 con a = 2; b = 1. Entonces,
M = (1 + b)
2
= 4;
= m n 2;
1
4
=
1
4
:
La solución existe y es única en 0; 1
4 .
Tenemos que G = 0; 1
4 [0; 2] y
@f
@y
= j2yj 4 = L;
@f
@t
= 0 = M0;
M1 = L M = 16;
jeN j = jy (tN ) yN j
0;001 16
2 4
e4 1
4 1 = 3: 436 6 10 3
:
Ejemplo 3. Resolver numéricamente el problema de Cauchy
y0
= 0;1y;
y (0) = 100;
con h = 0;1 y h = 0;05 en el intervalo [0; 0;5]. Comprobar que la usar el paso h = 0;05 el error se ha
reducido aproximadamente a la mitad con respecto al paso h = 0;1:
Solución.
Si h = 0;1 el esquema es
yj+1 = yj + 0;12
yj = 1;01yj:
Entonces:
y1 = 100 + 0;12
100 = 101;0;
y2 = 1;01 101 = 102: 01;
y3 = 1;01 102;01 = 103: 030 1;
y4 = 1;01 103: 030 1 = 104: 060 401;
y5 = 1;01 104: 060 401 = 105: 101 005:
9
10. La solución exacta es y (t) = 100e0;1t
; por lo que
y (0;5) = 100e0;1 0;5
= 105: 127 109 6:
Entonces
Error = j105: 101 005 105: 127 109 6j = 0;026 104 6:
Si h = 0;05 el esquema es
yj+1 = yj + 0;1 0;05 yj = 1;005yj:
De aquí:
y1 = 1;005 100 = 100: 5;
y2 = 1;005 100: 5 = 101: 002 5;
y3 = 1;005 101: 002 5 = 101: 507 512 5;
y4 = 1;005 101: 507 512 5 = 102: 015 050 1;
y5 = 1;005 102: 015 050 1 = 102: 525 125 4;
y6 = 1;005 102: 525 125 4 = 103: 037 751;
y7 = 1;005 103: 037 751 = 103: 552 939 8;
y8 = 1;005 103: 552 939 8 = 104: 070 704 5;
y9 = 1;005 104: 070 704 5 = 104: 591 058;
y10 = 1;005 104: 591 058 = 105: 114 013 3:
La solución exacta es y (t) = 100e0;1t
; por lo que
y (0;5) = 100e0;1 0;5
= 105: 127 109 6:
Entonces:
Error = j105: 114 013 3 105: 127 109 6j = 0;013 096 3:
Si comparamos los pasos h = 0;1 y h = 0;05 tenemos:
Error (h = 0;05)
Erro (h = 0;1)
=
0;013 096 3
0;026 104 6
= 0;501 7;
por lo que, efectivamente, el error se ha reducido a la mitad aproximadamente si reducimos el paso a la
mitad.
2.2. Sistemas de ecuaciones
Consideremos ahora el sistema de ecuaciones bidimensional
dx
dt
= f (t; x; y) ;
dy
dt
= g (t; x; y) ;
x (t0) = x0; y (t0) = y0
: (5)
Tanto la de…nición de solución como los resultados de existencia y unicidad de soluciones son similares
al caso de una ecuación, por lo que pasaremos directamente al estudio de los métodos numéricos.
Usando, al igual que antes
dx
dt
(t) '
x (t + h) x (t)
h
;
dy
dt
(t) '
y (t + h) y (t)
h
10
11. obtenemos el método de Euler:
xk+1 = xk + hf (tk; xk; yk) ;
yk+1 = yk + hg (tk; xk; yk) ;
k = 0; 1; 2; :::; N 1;
donde xk ' x (tk) ; yk ' y (tk) :
En el caso general de un sistema de n ecuaciones
dy1
dt
= f1 (t; y1; y2; :::; yn) ;
...
dyn
dt
= fn (t; y1; y2; :::; yn) ;
y1 (t0) = y0; y2 (t0) = y2; :::; yn (t0) = yn;
: (6)
el esquema resultante sería el siguiente:
y1;k+1 = y1;k + hf1 (tk; y1;k; :::; yn;k) ;
...
yn;k+1 = yn;k + hfn (tk; y1;k; :::; yn;k) ;
k = 0; 1; 2; :::; N 1:
Ejemplo. Resolvamos el sistema
x0
= x + 2y;
y0
= 3x + 2y
x (0) = 6; y (0) = 4;
en el intervalo [0; 0;04] con h = 0;02.
Solución.
x1 = 6 + 0;02 (6 + 2 4) = 6: 28;
y1 = 4 + 0;02 (3 6 + 2 4) = 4: 52;
x2 = 6;28 + 0;02 (6;28 + 2 4;52) = 6: 586 4;
y2 = 4;52 + 0;02 (3 6;28 + 2 4;52) = 5: 077 6:
Como la solución exacta de este problema es x (t) = 2e t
+ 4e4t
; y (t) = 2e t
+ 6e4t
obtenemos que
x (0;04) = 2e 0;04
+ 4e4 0;04
= 6: 615 622 362 ;
y (0;04) = 2e 0;04
+ 6e4 0;04
= 5: 119 486 348:
Por tanto, el error cometido es:
Error =
q
(6: 586 4 6: 615 622 )
2
+ (5: 077 6 5: 119 486)
2
= 5: 107 10 2
:
En lo que respecta a las ecuaciones de orden dos
x00
= f (t; x; x0
)
11
12. estas se convierten en un sistema bidimensional mediante el cambio de variable y = x0
:
y0
= f (t; x; y) ;
x0
= y:
A partir de aquí empleamos los métodos vistos para sistemas. En general, podemos tranformar una
ecuación de orden n
y(n)
= f t; y; y0
; :::; y(n 1)
en un sistema mediante los cambios de variable y1 = y; y2 = y0
; y3 = y00
; :::; yn = y(n 1)
:
y0
1 = y2;
y0
2 = y3;
...
y0
n = f (t; y1; y2; :::; yn) :
Ejemplo. Dado el problema
x00
+ 4x0
+ 5x = 0; x (0) = 3; x0
(0) = 5
lo transformamos en
x0
= y;
y0
= 4y + 5x;
x (0) = 3; y (0) = 5:
2.3. Ejemplos de sistemas
2.3.1. El péndulo
Consideramos una bola de masa m atada de una varilla rígida de longitud l y masa despreciable que
pende del techo. Las varilla puede oscilar con libertad sobre el plano vertical, pero sometida a la fuerza
de la gravedad (ver la …gura 1). Consideraremos primero por simplicidad que la resistencia del aire se
puede despreciar.
La variable x es el ángulo entre la varilla y el eje vertical. La ecuación diferencial se puede obtener a
partir del principio de la cantidad de movimiento angular: la razón de cambio de la cantidad de movimiento
angular es igual al momento de la fuerza. Como
Cantidad de movimiento angular=ml2 dx
dt
;
Momento de la fuerza=lF = lmg sin (x) ;
tenemos la ecuación
ml2 d2
x
dt2
= lmg sin (x) ;
d2
x
dt2
=
g
l
sin (x) :
Si lo transformamos en un sistema poniendo y = x0
tendremos
dx
dt
= y;
dy
dt
=
g
l
sin (x) :
Los puntos …jos son
y = 0; sin (x) = 0
(0; 0) ; ( ; 0) ; ( 2 ; 0) ; :::; ( n ; 0) ; :::
12
13. El punto (0; 0) es estable (se producen pequeñas oscilaciones alrededor del punto), mientras que ( ; 0)
es inestable. Todos los demás son réplicas de estos dos: ( 2n ; 0) son estables y ( (2n + 1) ; 0) son
inestables.
El diagrama de fases de este sistema, calculado usando el método de Euler (con g = 10; l = 50), se
puede ver en la …gura 2. Vemos que alrededor de los puntos …jos ( 2n ; 0) existen soluciones periódicas.
Éstas corresponden al movimiento oscilatorio del péndulo, que aparecen cuando la velociad inicial no es
demasiado grande. En cambio, si la velocidad inicial es grande, entonces el péndulo da vueltas completas,
y el valor de la variable x ya no está cotado.
Si tenemos en cuenta el rozamiento, entonces la ecuación es la siguiente:
d2
x
dt2
=
g
l
sin (x) c
dx
dt
:
Transformada en sistema quedaría
dx
dt
= y;
dy
dt
=
g
l
sin (x) cy:
Ahora las soluciones se comportan de manera bastante diferente. Al haber disipación de la energía
(casi) todas las soluciones convergen en espiral a uno de los puntos …jos ( 2n ; 0). Dependiendo de la
velocidad inicial (es decir, de la fuerza a la que hemos impulsado el péndulo) puede dar varias vueltas
antes de estabilizarse y comenzar a oscilar en torno a la posición de equilibrio.
Usando los parámetros g = 10; l = 50, c = 1 hemos calculado varias soluciones por el método de
Euler.
En la …gura 3 podemos ver la solución correspondiente a las condiciones iniciales x0 = 2, y0 = 2.
En este caso vemos que el péndulo oscila perdiendo energía alrededor del punto (0; 0).
En la …gura 4 tenemos la solución con condiciones iniciales x0 = 0, y0 = 15. Al ser la velocidad inicial
grande el péndulo da dos vueltas enteras y después comienza a oscilar perdiendo energía alrededor del
punto de equilibrio (4 ; 0) :
Finalmente, en la …gura 5 las condiciones iniciales son x0 = 0, y0 = 40. La velocidad inicial es tan
grande que el péndulo da seis vueltas completas antes de perder su…ciente energía y estabilizarse oscilando
alrededor del punto de equilibrio (12 ; 0) :
2.3.2. El sistema de Lorenz
El sistema de Lorenz es un modelo, bastante simpli…cado, del tiempo atmosférico, que fue desarrollado
por el meteorólogo Edwar N. Lorenz.
El sistema es el siguiente: 8
>>>><
>>>>:
dx
dt
= (y x) ;
dy
dt
= x y xz;
dz
dt
= z + xy;
donde ; ; son parámetros.
Se puede calcular sin di…cultad que este sistema tiene tres puntos …jos dados por:
(0; 0; 0) ;
p
( 1);
p
( 1); 1 ;
p
( 1);
p
( 1); 1 :
Este sistema tan simpli…cado no nos sirve para una predicción real de la temperatura atmosférica.
Sin embargo, se ha hecho famoso por otra razón: dio pie a un nuevo campo de las matemáticas llamada
caos. Para determinados parámetros del sistema, las soluciones de no parecen seguir ningún patrón …jo,
formando curvas que giran alrededor de los puntos …jos del sistema. Éstas permanecen en una zona
acotada alrededor de los puntos …jos, pero no permanecen mucho tiempo cerca de ninguno de ellos. Por
tanto, existe una región del espacio que atrae todas las soluciones, pero la dinámica dentro de esta región
no sigue una pauta …ja, ni ningún patrón reconocible. A ésta se le ha llamado Atractor Extraño.
13
14. La característica fundamental de los sistemas caóticos es la sensibilidad a las condiciones iniciales.
Dicho sin mucha precisión, esto signi…ca que, dada cualquier condición inicial, siempre existirá otra
condición inicial, tan cerca de ella como queramos, cuya solución diverge de la primera.
Ejemplos de tales sistemas incluyen la atmósfera terrestre, las placas tectónicas, los ‡uidos en régimen
turbulento y los crecimientos de población.
Usando el método de Euler vamos a obtener algunas soluciones de este sistema para estudiar su
comportamiento.
Vamos a ver primero algunas soluciones correspondientes a los siguientes parámetros:
= 10; = 10; =
8
3
:
Para estos parámetros no hay caos. Las soluciones numéricas muestran que las soluciones convergen
a uno de los puntos …jos a medida que el tiempo avanza. En este caso los puntos …jos son
(0; 0; 0) ;
p
24;
p
24; 9 ;
p
24;
p
24; 9 :
Por, ejemplo, si las condiciones iniciales son x0 = 1; y0 = 0; z0 = 2 obtenemos las soluciones que se
ven en las grá…cas 6 y 7. Vemos que la solución converge al punto …jo
p
24;
p
24; 9 :
Si probamos con una condición inicial más alejada, por ejemplo x0 = 1; y0 = 0, z0 = 50 la solución
converge al mismo punto, como se ve en la grá…ca 8.
Si elegimos las condiciones iniciales x0 = 10; y0 = 1, z0 = 3 la solución converge al punto …jop
24;
p
24; 9 , como se ve en la …gura 9.
El comportamiento que hemos visto en este ejemplo se mantiene mientras el parámetro se eencuentra
entre los siguientes valores
1 < < 24;74:::
Si < 1, entonces todas las soluciones convergen al punto …jo (0; 0; 0). En cambio, si > 24;74:::, entonces
aparecen las trayectorias caóticas.
Veamos las soluciones correspondientes a los siguientes parámetros:
= 10; = 28; =
8
3
:
Las proyecciones de la solución correspondiente a las condiciones iniciales x0 = 1; y0 = 0; z0 = 1 se
puede ver en las grá…cas 10, 11, 12.
En tres dimensiones la grá…ca se puede ver en la …gura 13.
Las soluciones presentan el mismo comportamiento aunque las condiciones iniciales sean muy difer-
entes. Por ejemplo, si x0 = 1; y0 = 8; z0 = 90 la solución en el plano XZ se ve en la …gura 14. Se ve
que la solución …nal forma una …gura parecida, que se encuentra en la misma zona.
Finalmente veremos algún ejemplo de la dependencia sensible a las condiciones iniciales.
Vamos a coger la condición inicial x0 = 1; y0 = 0;0001; z0 = 1, que se diferencia muy poco de la
condición x0 = 1; y0 = 0; z0 = 1. En la …guras 15, 16 podemos observar que las soluciones en ambos
casos son distintas, aunque se comportan de forma parecida en lo que respecta a la forma del dibujo. Esto
se ve mucho más claro si comparamos una de las variables en distintos momentos del tiempo. En la …gura
17 podemos ver cómo al principio las dos soluciones son muy parecidas, pero a partir de un determinado
momento las soluciones divergen y se comportan de forma muy distinta. Podemos comparar los valores
de las dos soluciones en la siguiente tabla:
14
15. t x0 (t) x1 (t) Diferencia: x0 (t) x1 (t)
0;1 1;1475 1;1475 0
1 3;7134 3;7135 0;0001
5 8;2256 8;2239 0;0017
10 7;8278 7;8793 0;0514
12 3;2356 3;8000 0;5644
12;05 2;9522 3;7479 0;7957
12;2 4;9132 6;5235 1;6103
14 5;3422 8;4479 13;7901
20 2;9567 11;0626 14;0193
30 4;1114 3;0029 1;1085
35 1;3976 4;5331 5;9307
2.4. Ejercicios
1. Utilizando el método de Euler resolver la siguiente ecuación diferencial: y0
= t2
y con y(0) = 1
(solución exacta: y(t) = e t
+ t2
2t + 2). Realizar los siguientes pasos:
a) Tomar h = 0;2 y realizar dos pasos. Luego hay que tomar h = 0;1 y realizar cuatro pasos.
b) Comparar la solución exacta y(0;4) con las dos aproximaciones calculadas en el apartado 1a
c) ¿Se comporta el error global …nal de las aproximaciones obtenidas en el apartado 1a como se
espera cuando h se divide entre dos?.
(Sol: a) h = 0;2; y (0;4) ' 0;684; h = 0;1; y (0;4) ' 0;66951; b) Error(h = 0;2)=0.04168; Error(h =
0;1)=0.02017; c) Sí)
2. Dada al ecuación dy
dt = e y2
:
a) Mostrar que el problema de Cauchy posee una única solución de…nida en cualquier intervalo
[t0; t0 + ]:
b) Dado que = 10 10
y h = 0;01 hallar una cota del error de discretización y del error global
para = 2.
c) Hallar el valor óptimo de h y la estimación del error global correspondiente.
(Sol: b) 0;022797828; 0;02797882; c) h = 1;527 10 5
; 6: 962 4 10 5
)
3. El modelo matemático de cierto circuito (condensador e inductancia) es
Q00
+ Q = sen (t) ;
Q (0) = 0; Q0
(0) = 0;
donde Q (t) representa la carga en el momento t.
a) Usar el método de Euler con h = 0;05 para determinar el valor de Q (0;2).
b) Calcular el error cometido sabiendo que la solución exacta es:
Q (t) =
1
2
sin (t)
1
2
t cos (t) :
(Sol: Q (0;2) ' 0;00049948; Q (0;2) = 0;001328; Error = 0;0008286)
15
16. 3. El método de Heun
La siguiente técnica introduce una nueva idea en la construcción de un algoritmo numérico. Vamos a
integrar la ecuación
y0
= f (t; y)
y (t0) = y0
en el intervalo (t0; t1) obteniendo
y (t1) y (t0) =
Z t1
t0
f (t; y (t)) dt
A continuación aproximamos la integral por el método del trapecio:
y (t1) = y (t0) +
h
2
(f (t0; y0) + f (t1; y (t1)))
Como la segunda función depende de y (t1) utilizamos la aproximación de Euler p1 = y (t0) + hf (t0; y0) :
y1 = y0 +
h
2
(f (t0; y0) + f (t1; y0 + hf (t0; y0)))
Repitiendo el proceso en cada subintervalo obtenemos el algoritmo:
pk+1 = y (tk) + hf (tk; yk)
yk+1 = yk +
h
2
(f (tk; yk) + f (tk+1; pk+1)) ;
k = 0; 1; 2; :::; N 1
En cada paso predecimos en primer lugar por el método de Euler el valor de y (tk+1) (predictor) y después
lo corregimos usando la regla del trapecio (corrector).
En la aproximación que utiliza la regla del trapecio sabemos que el orden de aproximación es O h2
.
Sin embargo, existe otro error introducido al usar la predicción de Euler. A pesar de ello el orden de
aproximación se mantiene.
Teorema. Sea y (t) la solución de (2), que suponemos de…nida en [t0; t0 + ]. Si f 2 C2
([t0; t0 + ] R)
y ftk; ykg es la sucesión de aproximaciones por el método de Heun, entonces
jekj Ckh2
:
Es decir, que el método tiene orden de aproximación O h2
:
Por tanto, si reducimos h a la mitad el error de truncamiento se reducirá a la cuarta parte.
En este caso el error en cada paso individual tiene orden O h3
. La suma de los N errores nos da el
orden O h2
.
Notemos que si analizamos el error global nos aparecerá, al igual que en el método de Euler, el sumando
adicional h , donde es el error máximo de redondeo en cada paso, por lo que para mantener el orden de
convergencia necesitamos que ch3
: El valor de h óptimo será de la forma h = Cte
1
3 :
Ejemplo. Resolvamos
y0
=
t y
2
y (0) = 1
en el intervalo [0; 2] con h = 1 y h = 1
2 .
Solución.
16
17. La solución exacta de este problema es y (t) = t 2 + 3e
t
2 : Vamos a compararla con la aproximación
por el método de Heun.
Solución aproximada:
1) h = 1 :
p1 = 1 + 0 1
2 = 1
2 ;
y1 = 1 + 1
2
0 1
2 +
1 1
2
2 = 7
8 = 0;875;
p2 = 0;875 + 1 0;875
2 = 0;937 5;
y2 = 0;875 + 1
2
1 0;875
2 + 2 0;937 5
2 = 1: 171 875:
y (2) = 3e 1
= 1: 103 638;
Error = j1: 103 638 1: 171 875j = 0;068 237:
2)h = 0;5 :
p1 = 1 + 0;5 0 1
2 = 0;75;
y1 = 1 + 0;5
2
0 1
2 + 0;5 0;75
2 = 0;843 75;
p2 = 0;843 75 + 0;5 0;5 0;843 75
2 = 0;757 812 5;
y2 = 0;843 75 + 0;5
2
0;5 0;843 75
2 + 1 0;757 812 5
2 = 0;831 054 687 5;
p3 = 0;831 054 687 5 + 0;5 1 0;831 054 687 5
2 = 0;873 291 015 6;
y3 = 0;831 054 687 5 + 0;5
2
1 0;831 054 687 5
2 + 1;5 0;873 291 015 6
2 = 0;930 511 474 6;
p4 = 0;930 511 474 6 + 0;5 1;5 0;930 511 474 6
2 = 1: 072 883 606;
y4 = 0;930 511 474 6 + 0;5
2
1;5 0;930 511 474 6
2 + 2 1: 072 883 606
2 = 1: 117 587 09:
Error=j1: 117 587 1: 103 638 j = 0;013 949:
Comparación de los errores:
Error (h = 1)
Error (h = 0;5)
=
0;068 237
0;013 949
= 4: 9:
Consideremos ahora el sistema de ecuaciones bidimensional
dx
dt
= f (t; x; y) ;
dy
dt
= g (t; x; y) ;
x (t0) = x0; y (t0) = y0:
:
El método de Heun para a este sistema quedaría de la siguiente forma:
qk+1 = xk + hf (tk; xk; yk) ;
pk+1 = yk + hg (tk; xk; yk) ;
xk+1 = xk +
h
2
(f (tk; xk; yk) + f (tk+1; qk+1; pk+1)) ;
yk+1 = yk +
h
2
(g (tk; xk; yk) + g (tk+1; qk+1; pk+1)) ;
k = 0; 1; 2; :::; N 1;
donde xk ' x (tk) ; yk ' y (tk) :
En el caso general de un sistema de n ecuaciones
dy1
dt
= f1 (t; y1; y2; :::; yn) ;
...
dyn
dt
= fn (t; y1; y2; :::; yn) ;
y1 (t0) = y0; y2 (t0) = y2; :::; yn (t0) = yn;
:
17
19. 3.1. Ejercicios
1. Resolver la siguiente ecuación diferencial por el método de Heun:
y0
= t2
y, y(0) = 1;
Realizar los siguientes pasos:
a) Tomar h = 0;2 y realizar dos pasos. Luego tomar h = 0;1 y realizar cuatro pasos.
b) Comparar la solución exacta y(t) = e t
+ t2
2t + 2 con las dos aproximaciones en t = 0;4.
c) ¿Se comporta el error global de las aproximaciones como se espera cuando h se divide entre
dos?
(Sol: a) h = 0;2; y (0;4) ' 0;69488; h = 0;1; y (0;4) ' 0;69094; b) Error(h = 0;2)=0.0052; Error(h =
0;1)=0.00126; c) Sí)
2. El modelo matemático de cierto circuito (condensador e inductancia) es
Q00
+ Q = sen (t) ;
Q (0) = 0; Q0
(0) = 0;
donde Q (t) representa la carga en el momento t.
a) Usar el método de Heun con h = 0;1 para determinar el valor de Q (0;2).
b) Calcular el error cometido sabiendo que la solución exacta es:
Q (t) = sin (t)
1
2
t cos (t) :
(Sol: Q (0;2) ' 0;000998335; Q (0;2) = 0;001328; Error = 0;000 329 665 )
19
20. 4. Figuras
l=Longitud de
la varilla
m=masa del
objeto
x=ángulo
Fuerza de la
gravedad=mg
F
Figura 1: Péndulo
20
21. -2 0 2 4 6 8 10
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
x
dx/dt
Figura 2: Diagrama de fases del péndulo
21