Sei sulla pagina 1di 16

Captulo 8

Metodos numericos
Introducci on
En este captulo se presentan las ideas b asicas sobre diferentes metodos numericos, funda-
mentalmente dirigidos a la soluci on numerica de problemas de Cauchy asociados a ecuaciones
diferenciales ordinarias de primer orden.
El captulo se divide b asicamente en tres partes principales: la primera es una pre-
sentaci on general de las nociones te oricas relativas a los metodos numericos (convergencia,
estabilidad, etc.), cuyos detalles puede obviar el lector en una primera lectura; la segunda
aborda el estudio de los metodos unipaso m as importantes, mientras que la tercera es una
introducci on de los metodos multipaso.
Aunque en general se habla de E.D.O., algunos de los metodos funcionan en un S.E.D.O.
de primer orden sin m as que escribir el sistema de la forma y

= f(t, y), donde y y f son


funciones vectoriales, y aplicar el algoritmo correspondiente, como ponemos de maniesto
en la secci on 4.
Pr acticamente nos hemos limitado a tratar P.V.I. S olo a modo de ilustraci on, se ha
incluido un problema resuelto en el que se introduce una tecnica relativa a problemas de
contorno.
Los problemas recogidos en este captulo son meras ilustraciones docentes de los dife-
rentes metodos numericos. Se recomienda al lector la consulta de los archivos correspon-
dientes del CD en los que puede encontrar procedimientos que implementan los distintos
metodos numericos, as como ejemplos de las aplicaciones.
Finalmente, es necesario hacer constar que las tablas con los valores numericos que apare-
cen en los problemas resueltos han sido elaboradas con Maple, obteniendose con Mathe-
matica resultados similares.
1. Ideas generales
Dado el P.V.I. y

= f(t, y), y(t


0
) = y
0
, con soluci on unica y(t), los metodos que vamos
a estudiar obtienen valores aproximados de la curva soluci on y(t) en un conjunto de puntos
igualmente espaciados de un intervalo [a, b].
1.1. Notacion
En la E.D.O. y

= f(t, y), t es la variable independiente e y es la dependiente. En


ocasiones, por el contexto del problema, estas variables se denotar an de otra forma. Por
242 Metodos numericos
ejemplo, es usual denominar x a la variable independiente, y en este caso, el resto de la
notaci on se establece de modo an alogo.
Denotaremos por {t
n
: 0 n m} al conjunto discreto de puntos del intervalo [a, b]
en el que pretendemos obtener valores aproximados de la curva soluci on. Ser a entonces
t
n
= t
0
+hn, con t
0
= a y h =
b a
m
; y(t) es la curva soluci on e y(t
n
) el valor exacto de esta
funci on en el punto t
n
. Denotaremos por y
n
al correspondiente valor aproximado obtenido por
el metodo numerico usado y f
n
= f(t
n
, y
n
), n = 1, . . . , m, denotar an los valores aproximados
de la derivada de la curva soluci on, siendo los valores exactos y

(t
n
) = f(t
n
, y(t
n
)).
1.2. Denicion. Metodo numerico
De manera general, un metodo numerico es un algoritmo que permite dar, en un n umero
nito de pasos, una aproximaci on numerica a la soluci on de un problema con un error
prejado, que puede ser tan peque no como se desee.
En este contexto de la resoluci on numerica de E.D.O., el metodo numerico se expresa
como una ecuaci on en diferencias que contiene un cierto n umero de aproximaciones sucesivas
y
n+j
, j = 0, 1, 2, . . . k, que permiten calcular secuencialmente la sucesi on (y
n
).
Notas:
1) Naturalmente, en esa ecuaci on en diferencias aparece la funci on f(t, y) del P.V.I. que
queremos resolver.
2) El entero k que aparece en la denici on anterior recibe el nombre de n umero de pasos
del metodo numerico. Si k = 1 se dice que el metodo es 1-paso, unipaso o de paso
simple. Si k > 1 se dice que el metodo es de paso k, o multipaso, en la denominaci on
generica.
3) Los metodos multipaso necesitan de otros valores para poder operar con ellos, adem as
del valor y
0
proporcionado por la condici on inicial del P.V.I. que queramos resolver.
Encontrar esos valores iniciales no presenta un inconveniente serio en general. Siempre
se pueden emplear para ello metodos unipaso.
Ejemplos:
1) y
n+1
y
n
= hf
n
es un metodo numerico unipaso. Conociendo el valor inicial y
0
se
puede evaluar f
0
y arrancar el metodo.
2) y
n+2
y
n+1
=
h
3
(3f
n+1
2f
n
) es un metodo numerico de paso 2. Aqu no se puede
iniciar el metodo si s olo se conoce y
0
, ya que tambien se necesita y
1
.
1.3. Denicion. Metodos explcitos e implcitos
Si la expresi on del metodo numerico es tal que dados y
n
, y
n+1
, . . ., y
n+k1
, la ecuaci on
en diferencias permite hallar y
n+k
explcitamente, se dice que el metodo es explcito.
Si, por el contrario, y
n+k
no puede ser calculado sin resolver previamente un sistema de
ecuaciones implcitas, se dice que el metodo numerico es implcito.
Ideas generales 243
Ejemplos:
1) y
n+2
+ y
n+1
2y
n
=
h
4
(f
n+2
+ 8f
n+1
+ 3f
n
) es un metodo de paso 2 implcito, puesto
que y
n+2
tambien aparece en el segundo miembro de la ecuaci on, f
n+2
= f(t
n+2
, y
n+2
).
2) y
n+3
=
1
4
y
n+2

1
2
y
n+1

3
4
y
n
+
h
8
(19f
n+2
+ 5f
n
) es un metodo de paso 3 explcito.
1.4. Denicion. Metodo numerico convergente
Un metodo numerico es convergente si se verica que:
lim
h0
m ax
0nm
|y(t
n
) y
n
| = 0.
Observaci on: La denici on anterior signica que cuando la longitud de paso h es sucien-
temente peque na la aproximaci on y
n
proporcionada por el metodo numerico est a cerca de
la soluci on exacta y(t
n
).
Obviamente esta es la caracterstica m as deseable de un metodo numerico.
1.5. Denicion. Errores de truncamiento
En la aproximaci on proporcionada por un metodo numerico de resoluci on de E.D.O.
cabe distinguir dos tipos de errores.
i) Error global: En el paso i-esimo ser a E
i
= y(t
i
) y
i
.
ii) Error local: Es el error cometido en cada paso. Con m as precisi on, e
i
= y

(t
i
) y
i
siendo y

(t) la soluci on exacta del problema de valor inicial


y

= f(t, y)
y

(t
i1
) = y
i1
Es decir, e
i
es la diferencia entre el valor exacto de la soluci on, suponiendo exacta la
aproximaci on anterior, y el valor aproximado.
Observaciones:
1) En general, el error global ser a mayor que la suma de los errores locales, pues en
cada paso se comete un error local partiendo de unos valores anteriores que ya no son
exactos.
2) En general se verica que si e
i
es un innitesimo del mismo orden que h
k
, cuando
h 0, se tiene que E
i
es un innitesimo del mismo orden que h
k1
, y en tal caso se
dice que el metodo es de orden k 1.
3) Si e
i
es un innitesimo del mismo orden que h
k
se escribe e
i
= o(h
k
).
1.6. Denicion. Algoritmo numerico
Un algoritmo numerico es una secuencia de instrucciones, que involucran operaciones
numericas y que implementa un metodo numerico.
244 Metodos numericos
Notas:
1) Los metodos explcitos desembocan en un algoritmo que se puede programar para un
computador directamente, mientras que los metodos implcitos necesitan una subrutina
que resuelva el sistema implcito planteado.
Puesto que, en general, la funci on f(t, y) es no lineal en y, los metodos implcitos
suelen implicar un mayor coste computacional.
2) Es posible, adem as, computar, a la vez que se calculan los valores de y
n
, el error
local, ajustando si es preciso el valor de h y decidiendo que familia de metodos deben
emplearse en una etapa particular del proceso.
3) La mayora de los paquetes de c alculo simb olico contienen funciones que implementan
alg un algoritmo numerico de resoluci on de ecuaciones diferenciales. En los documentos
NUMERIC SIMPLE y NUMERIC MULTI del CD se han incluido programas sencillos en
Maple y Mathematica para implementar cada uno de los metodos presentados en
este captulo.
1.7. Denicion. Metodos numericos lineales
Un metodo numerico es lineal si puede expresarse de la forma
k

j=0

j
y
n+j
= h
f
(y
n+k
, y
n+k1
, . . . , y
n
, t
n
, h) (1)
donde la funci on
f
indica que la dependencia respecto de las variables y
n+k
, . . . , y
n
, t
n
se
hace a traves de una combinaci on lineal de los valores de la funci on f(t, y) asociada al P.V.I.
planteado.
Notas:
1) No todas las expresiones como la anterior generan un metodo numerico. Es usual
imponer dos condiciones al esquema numerico dado por la ecuaci on anterior. En primer
lugar, que si f 0 entonces
f
0. Por otra parte, se exige que exista una constante
M tal que, dadas dos soluciones aproximadas (y
0
, . . . , y
m
), (y

0
, . . . , y

m
), se cumpla que

f
(y
n+k
, . . . , y
n
, t
n
, h)
f
_
y

n+k
, . . . , y

n
, t
n
, h
_

M
k

j=0

y
n+j
y

n+j

.
2) La convergencia de los metodos numericos lineales se puede estudiar a traves de ciertas
caractersticas de m as f acil comprobaci on que la aplicaci on de la denici on.
3) En lo que sigue supondremos siempre que los metodos son lineales.
Ejemplo: El metodo dado por 2y
n+1
y
n
= h(3f
n
+ f
n1
) es un metodo lineal.
1.8. Denicion. Metodos numericos consistentes
Se dice que un metodo numerico lineal es consistente si lim
h0
e
n+k
h
= 0, donde e
n+k
es el
error de truncamiento local denido anteriormente. Si el metodo numerico no es consistente
se llama inconsistente.
Ideas generales 245
1.9. Denicion. Polinomio caracterstico
Se llama polinomio caracterstico del metodo lineal
k

j=0

j
y
n+j
= h
f
(y
n+k
, . . . , y
n
, t
n
, h)
al polinomio p(x) =
k

j=0

j
x
j
.
1.10. Teorema. Condicion de consistencia
La condici on necesaria y suciente para que el metodo numerico (1), de polinomio ca-
racterstico p(x), sea consistente es que:
1) p(1) = 0.
2)

f
(y(t
n
), . . . , y(t
n
), t
n
, 0)
p

(1)
= f(t
n
, y(t
n
)).
Observaci on: Las dos condiciones anteriores se obtienen del hecho de que todo metodo
numerico convergente es consistente.
Su importancia radica en que proporcionan caractersticas f acilmente vericables sobre
un metodo concreto.
Ejemplos:
1) La familia de metodos numericos dada por la expresi on
y
n+2
(1 + )y
n+1
+ y
n
=
h
2
(f
n+2
+ (1 )f
n+1
f
n
)
es consistente para = 1 (vease problema resuelto 1).
2) El metodo numerico y
n+2
y
n+1
=
h
3
(3f
n+1
2f
n
) es inconsistente (vease problema
resuelto 2).
1.11. Denicion. Perturbacion de un metodo numerico
Se llama perturbaci on del metodo numerico:
k

j=0

j
y
n+j
= h
f
(y
n+k
, . . . , y
n
, t
n
, h)
al metodo numerico
k

j=0

j
y
n+j
= h (
f
(y
n+k
, . . . , y
n
, t
n
, h) +
n+k
) , para cierta sucesi on (
n
).
246 Metodos numericos
1.12. Denicion. Estabilidad de un metodo numerico
Sean (
n
), (

n
) dos perturbaciones de un metodo numerico e (y
n
), (y

n
) las soluciones de
las ecuaciones en diferencias perturbadas.
Se dice que el metodo numerico es estable si dado > 0 existen S > 0 y h
0
> 0 tales
que si |
n

n
| entonces |y
n
y

n
| S para todo 0 < h h
0
.
1.13. Denicion. Condicion de las races de un metodo numerico
Se dice que el metodo numerico
k

j=0

j
y
n+j
= h
f
(y
n+k
, y
n+k1
, . . . , y
n
, t
n
, h) satisface la
condici on de las races si todas las races de su polinomio caracterstico son de m odulo menor
o igual que 1 y las que son de m odulo 1 son simples.
Ejemplo: El metodo numerico y
n+1
2y
n
= hf
n
no verica la condici on de las races, pues
su polinomio caracterstico es p(x) = x 2.
1.14. Teorema. Condicion de estabilidad
La condici on necesaria y suciente para que un metodo numerico sea estable es que
satisfaga la condici on de las races.
1.15. Teorema. Teorema de convergencia de Dahlquist
La condici on necesaria y suciente para que un metodo numerico sea convergente es que
sea consistente y estable.
Ejemplos:
1) El metodo numerico y
n+1
y
n
= hf
n
es convergente, pues es estable (el polinomio
caracterstico es p(x) = x 1 y verica la condici on de las races) y consistente, como
se comprueba inmediatamente.
2) El metodo numerico y
n+2
2y
n+1
+ y
n
= h(f
n+1
3f
n
) no es convergente, pues no es
estable, ya que su polinomio caracterstico p(x) = x
2
2x + 1 = (x 1)
2
tiene la raz
1 doble.
Nota: Los metodos de paso simple se suelen escribir en la forma y
n+1
y
n
= h
f
(y
n
, t
n
, h).
En tal caso el polinomio caracterstico es p(x) = x 1, y el metodo es estable. Ser a
convergente si
f
(y(t
n
), t
n
, 0) = f(t
n
, y(t
n
)).
2. Metodos de paso simple
2.1. Consideraciones generales sobre los metodos de Taylor
Los metodos de Taylor son metodos de paso simple, es decir utilizan y
n
para obtener
y
n+1
. Se basan en la posibilidad de obtener y(t
n+1
) mediante el desarrollo de Taylor de y(t)
en torno a t
n
y esto para n = 0, . . . , m1:
y(t
n+1
) = y(t
n
) + hy

(t
n
) +
h
2
2 !
y

(t
n
) + +
h
k
k !
y
(k
(t
n
) + R
k
.
Metodos de paso simple 247
Para obtener la aproximaci on de y(t
n+1
) sustituimos y(t
n
) por y
n
y la derivada y

(t
n
)
por f
n
= f(t
n
, y
n
). Para las derivadas sucesivas, se sustituye t por t
n
e y por y
n
en las
correspondientes derivadas de la funci on de una variable f(t, y(t)).
Se estudia en primer lugar el metodo de Taylor de orden 1, conocido como metodo de
Euler que, aunque resulta poco ecaz y rara vez se usa en la pr actica, es muy intuitivo y
sirve para entender la idea de la integraci on aproximada de ecuaciones diferenciales.
2.2. Metodo de Euler
Dado el P.V.I. y

= f(t, y), y(t


0
) = y
0
, con soluci on unica y(t), el metodo de Euler
consiste en aproximar el valor de y en los puntos t
n
= t
0
+nh por los valores y
n
obtenidos a
partir de y
0
por el algoritmo
y
n+1
= y
n
+ hf(t
n
, y
n
), n = 0 . . . m1.
(Vease problema resuelto 3.)
Notas:
1) Se usa el polinomio de Taylor de primer or-
den, es decir la idea es aproximar la curva
soluci on por su tangente. Cada trozo de
curva se sustituye por un segmento que
tiene aproximadamente la misma pendien-
te que la curva.
Fig 8.1
2) La f ormula del metodo de Euler tambien se puede deducir con tecnicas de integraci on
aproximada. Bas andose en el teorema fundamental del c alculo, se puede escribir
y
n+1
= y
n
+
_
t
n+1
tn
f(t, y(t)) dt.
Si se aproxima el valor de la integral por el area del rect angulo de base t
n+1
t
n
y
altura f(t
n
, y
n
) se tiene la f ormula de Euler: y
n+1
= y
n
+ hf(t
n
, y
n
).
2.3. Error en el metodo de Euler
El error local en el metodo de Euler e
n
verica |e
n
|
h
2
M
2
siendo
M = sup
(t
n1
,tn)
|y

()| .
Observaciones:
1) Esta cota para el error local se obtiene a partir de la expresi on de Lagrange para el
resto del desarrollo de Taylor.
2) Dado que cuando h 0, e
n
= o(h
2
), el error global |E
n
| = o(h), pero esta es una forma
lenta de convergencia a 0, es decir hace falta tomar h muy peque no para conseguir una
buena precisi on. A continuaci on vamos a dar metodos cuyo orden de convergencia sea
o(h
k
) con k > 1.
248 Metodos numericos
2.4. Metodo de Taylor de orden k
Dado el P.V.I. y

= f(t, y), y(t


0
) = y
0
, donde f es una funci on sucientemente derivable,
el metodo de Taylor de orden k consiste en aproximar y(t
n+1
) por y
n+1
donde
y
n+1
= y
n
+ hf(t
n
, y
n
) +
h
2
2 !
f

(t
n
, y
n
) +
h
3
3 !
f

(t
n
, y
n
) + +
h
k
k !
f
(k1
(t
n
, y
n
), n = 0 . . . m1
entendiendo por f

, f

,. . . las derivadas de la funci on de una variable f(t, y(t)). (Vease el


problema resuelto 6.)
2.5. Error en el metodo de Taylor de orden k
El error local verica |e
i
| =
h
k+1
(k + 1) !

y
(k+1
()

, con (t
i1
, t
i
). As pues e
i
= o(h
k+1
)
y por tanto el error global es o(h
k
).
Nota: Los metodos de Taylor son convergentes para cualquier k, pero presentan la desven-
taja de tener que tomar h muy peque no, en los de orden bajo, o bien mucha complejidad
computacional para los de orden alto, ya que requieren derivadas de orden alto de f. Esta
desventaja se puede paliar ahora con los programas de C alculo Simb olico como Maple y
Mathematica.
2.6. Metodo de Euler mejorado
Se puede mejorar la aproximaci on que proporciona el metodo de Euler sin necesidad de
acudir al c alculo de derivadas de f(t, y(t)), sustituyendo f(t
n
, y
n
) por un promedio de dos
evaluaciones de f.
El metodo de Euler mejorado es y
n+1
= y
n
+
h
2
(k
1
+ k
2
) siendo
_
k
1
= f(t
n
, y
n
)
k
2
= f (t
n
+ h, y
n
+ hk
1
) .
(Vease problema resuelto 5.)
Observaci on: El error global del metodo de Euler mejorado es o(h
2
).
2.7. Ideas generales de los metodos de Runge-Kutta
Los metodos de Runge-Kutta son metodos unipaso que mejoran la aproximaci on del
metodo de Euler sin necesidad de calcular derivadas de orden superior.
Estos metodos generalizan la idea del metodo de Euler mejorado consiguiendo, con k
evaluaciones de f en puntos intermedios, una cota de error global del orden de o(h
k
).
2.8. Denicion. Metodos de Runge-Kutta de s etapas
El metodo general de Runge-Kutta de s etapas viene dado por una expresi on de la forma
y
n+1
= y
n
+ h
s

i=1
b
i
k
i
Metodos de paso simple 249
donde k
i
= f
_
_
t
n
+ c
i
h, y
n
+ h
s

j=1
a
ij
k
j
_
_
para i = 1, . . . , s, siendo a
ij
, b
i
, c
i
IR tales que
c
i
=
s

j=1
a
ij
, para i = 1, . . . , s.
2.9. Denicion. Diagrama de Butcher asociado al metodo de Runge-Kutta
Los diferentes par ametros que aparecen en la denici on del metodo general de Runge-
Kutta pueden escribirse en la forma
c
1
a
11
a
12
a
1s
c
2
a
21
a
22
a
2s
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
c
s
a
s1
a
s2
a
ss
b
1
b
2
b
s
que se conoce con el nombre de diagrama de Butcher del metodo de Runge-Kutta. La matriz
A =
_
_
_
_
a
11
a
1s
.
.
.
.
.
.
a
s1
a
ss
_
_
_
_
recibe el nombre de matriz de coecientes del diagrama de Butcher.
Notas:
1) Si a
ij
= 0 para j i, el diagrama de Butcher se convierte en
0 0 0 0
c
2
a
21
0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
c
s
a
s1
a
ss1
0
b
1
b
s1
b
s
En este caso, cada k
i
se calcula con los valores previamente calculados de k
1
. . . k
i1
.
Estos metodos reciben el nombre de metodos explcitos o cl asicos de Runge-Kutta. Su
matriz de coecientes A es estrictamente triangular inferior.
2) Si a
ij
= 0 para j > i y alg un a
ii
= 0, la matriz de coecientes del diagrama de
Butcher es triangular inferior, pero con alg un elemento de la diagonal distinto de cero.
Eso implica que hay que resolver alguna ecuaci on implcita para determinar alg un k
i
(precisamente los correspondientes a los elementos de la diagonal no nulos).
Estos metodos reciben el nombre de metodos semi-implcitos de Runge-Kutta.
3) Si a
ij
= 0 para alg un j > i, la matriz de coecientes no es triangular inferior y por
tanto el metodo es fuertemente implcito. Estos metodos se llaman metodos implcitos
de Runge-Kutta.
4) Los metodos de Runge-Kutta aparecen en 1895 y hasta los a nos 60 del siglo XX no
aparecen los metodos de Runge-Kutta implcitos.
En este libro nos ocupamos unicamente de desarrollar los metodos de Runge-Kutta
explcitos.
250 Metodos numericos
2.10. Teorema. Convergencia de los metodos de Runge-Kutta
La condici on necesaria y suciente para que un metodo de Runge-Kutta de s etapas sea
convergente es que b
1
+ b
2
+ + b
s
= 1.
Notas:
1) Todos los metodos de Runge-Kutta son estables, pues su polinomio caracterstico es
p(x) = x 1, que obviamente verica la condici on de las races.
2) Los metodos de Runge-Kutta son consistentes precisamente si b
1
+ + b
s
= 1.
2.11. Denicion. Orden del metodo de Runge-Kutta
Se dice que el metodo de Runge-Kutta es de orden p si el error de truncamiento local es
e
n
= o(h
p+1
).
Nota: Para conseguir un metodo de orden p se exige que coincidan el desarrollo de Taylor de
orden p de la soluci on exacta con el desarrollo de Taylor de orden p de la soluci on aproximada,
supuesta exacta la etapa anterior. Ello implica que los coecientes del diagrama de Butcher
veriquen un sistema de ecuaciones que se explicitan m as adelante en algunos casos.
2.12. Metodos explcitos de Runge-Kutta de 1 etapa de orden 1
El metodo explcito de Runge-Kutta de 1 etapa viene dado por la expresi on
y
n+1
= y
n
+ hf(t
n
, y
n
).
Nota: S olo hay un metodo explcito de Runge-Kutta de 1 etapa que, como puede verse,
coincide con el metodo de Euler. En este caso, necesariamente c
1
= a
11
= 0 y b
1
= 1.
2.13. Metodos explcitos de Runge-Kutta de 2 etapas de orden 2
Los metodos explcitos de Runge-Kutta de 2 etapas vienen dados por el siguiente dia-
grama de Butcher:
0 0 0
c
2
c
2
0
b
1
b
2
Para que los metodos sean de orden 2, los par ametros deben vericar el sistema de
ecuaciones
_
_
_
b
1
+ b
2
= 1
b
2
c
2
=
1
2
.
Nota: Hay una familia innita de metodos de Runge-Kutta de 2 etapas, puesto que el
sistema a resolver es un sistema de 2 ecuaciones con 3 inc ognitas.
2.14. Ejemplos de metodos de Runge-Kutta de 2 etapas de orden 2
Los m as usados son:
1) Metodo modicado de Euler.
Metodos de paso simple 251
En este caso b
1
= 0, b
2
= 1, c
2
=
1
2
, que se corresponde con la expresi on
y
n+1
= y
n
+ hk
2
, con
_

_
k
1
= f (t
n
, y
n
)
k
2
= f
_
t
n
+
h
2
, y
n
+
h
2
k
1
_
.
2) Metodo mejorado de Euler.
En este caso, b
1
= b
2
=
1
2
, c
2
= 1, que se corresponde con la expresi on
y
n+1
= y
n
+
h
2
(k
1
+ k
2
) con
_
k
1
= f (t
n
, y
n
)
k
2
= f (t
n
+ h, y
n
+ hk
1
)
2.15. Metodos explcitos de Runge-Kutta de 3 etapas de orden 3
Para que un metodo explcito de Runge-Kutta de 3 etapas sea de orden 3, sus par ametros
deben vericar el sistema
_

_
b
1
+ b
2
+ b
3
= 1
b
2
c
2
+ b
3
c
3
=
1
2
b
2
c
2
2
+ b
3
c
2
3
=
1
3
a
32
b
3
c
2
=
1
6
Nota: Hay una colecci on innita de metodos de Runge-Kutta de 3 etapas de orden 3.
2.16. Ejemplos de metodos de Runge-Kutta de 3 etapas de orden 3
Los m as utilizados vienen dados por los siguientes diagramas de Butcher:
1) Diagrama de Butcher y algoritmo correspondiente al metodo de Heun de tercer orden:
0 0
1/3 1/3 0
2/3 0 2/3 0
1/4 0 3/4
_

_
y
n+1
= y
n
+ h
_
1
4
k
1
+
3
4
k
3
_
k
1
= f(t
n
, y
n
)
k
2
= f
_
t
n
+
h
3
, y
n
+
h
3
k
1
_
k
3
= f
_
t
n
+
2
3
h, y
n
+
2
3
hk
2
_
2) Diagrama de Butcher y algoritmo correspondiente al metodo de Kutta de tercer orden:
0 0
1/2 1/2 0
1 1 2 0
1/6 2/3 1/6
_

_
y
n+1
= y
n
+
h
6
(k
1
+ 4k
2
+ k
3
)
k
1
= f(t
n
, y
n
)
k
2
= f
_
t
n
+
h
2
, y
n
+
h
2
k
1
_
k
3
= f (t
n
+ h, y
n
+ 2hk
2
hk
1
)
252 Metodos numericos
2.17. Metodos de Runge-Kutta de 4 etapas de orden 4
De igual manera a como se deducen los metodos de Runge-Kutta de tres etapas de orden
3, se pueden deducir las f ormulas que proporcionan metodos explcitos de Runge-Kutta de
4 etapas de orden 4. El sistema de ecuaciones resultante tiene innitas soluciones y en
consecuencia existen innitos metodos de Runge-Kutta de 4 etapas de orden 4, es decir
e
n
= o(h
5
).
El metodo de Runge-Kutta de orden 4 m as usado se corresponde con el diagrama de
Butcher y algoritmo siguientes:
0 0
1/2 1/2 0
1/2 0 1/2 0
1 0 0 1 0
1/6 1/3 1/3 1/6
y
n+1
= y
n
+
h
6
(k
1
+ 2k
2
+ 2k
3
+ k
4
)
_

_
k
1
= f(t
n
, y
n
)
k
2
= f
_
t
n
+
h
2
, y
n
+
h
2
k
1
_
k
3
= f
_
t
n
+
h
2
, y
n
+
h
2
k
2
_
k
4
= f (t
n
+ h, y
n
+ hk
3
)
(Vease problema resuelto 7.)
Nota: Se pueden deducir las f ormulas que proporcionan metodos explcitos de Runge-
Kutta de 5 etapas, 6 etapas, etc., pero cada vez el n umero de ecuaciones implicadas hace
m as disuasoria su utilizaci on. En todo caso quedan fuera del prop osito de este libro.
3. Metodos multipaso para ecuaciones diferenciales ordinarias
3.1. Ideas generales
Dado el problema de valor inicial y

= f(t, y) con y(t


0
) = y
0
, se trata de calcular
valores aproximados y
n+1
de y(t
n+1
) usando los valores aproximados (previamente calculados)
de y
n
, y
n1
, . . . , y
np
y de f
n
= f(t
n
, y
n
), f
n1
= f(t
n1
, y
n1
), f
n2
= f(t
n2
, y
n2
), . . .,
f
np
= f(t
np
, y
np
).
Presentamos ahora metodos que se basan en la siguiente consecuencia del teorema Fun-
damental del C alculo: y(b) = y(a) +
_
b
a
y

(t) dt = y(a) +
_
b
a
f(t, y(t)) dt, que se verica, por
ejemplo, si y C
1
([a, b]).
Inspir andose en la f ormula anterior, en el intervalo [t
np
, t
n+1
], se puede escribir
y
n+1
= y
np
+
_
t
n+1
t
np
f(t, y(t)) dt.
La expresi on
_
t
n+1
t
np
f(t, y(t)) dt se aproxima integrando el polinomio interpolador P
r
(t)
de orden r (eligiendo r + 1 puntos) utilizando la tabla de valores (t
n
, f
n
), (t
n1
, f
n1
), . . .,
Metodos multipaso para ecuaciones diferenciales ordinarias 253
(t
nr
, f
nr
). Se obtienen as f ormulas del tipo
y
n+1
= y
np
+ h (A
0
f
n
+ A
1
f
n1
+ + A
r
f
nr
) ,
donde los coecientes A
i
dependen de los valores prejados de p y r. Las distintas elecciones
de p y r dar an lugar a distintos metodos.
El error de truncamiento se obtiene integrando el error del polinomio interpolador. Por
tanto, usando P
r
el metodo resulta de orden r + 1.
Una caracterstica de los metodos multipaso es la necesidad de tener previamente cal-
culados varios valores de y
j
, con j n, para obtener el de y
n+1
. Como por los datos del
problema s olo se conoce y
0
, ser a necesario calcular por otro metodo el resto de los valores.
En los epgrafes siguientes se desarrollan algunos metodos basados en las ideas expuestas
anteriormente.
3.2. Metodos de Adams-Bashforth
Los metodos de Adams-Bashforth corresponden al caso p = 0, es decir vienen dados por
y
n+1
= y
n
+
_
t
n+1
tn
P
r
(t) dt
y conducen a algoritmos de la forma
y
n+1
= y
n
+ h (A
0
f
n
+ A
1
f
n1
+ + A
r
f
nr
) .
La expresi on obtenida para cada valor de r recibe el nombre de f ormula o metodo de
Adams-Bashforth de orden r + 1.
3.3. Metodo de Adams-Bashforth de orden 2
Corresponde al caso r = 1. El algoritmo se obtiene aplicando la expresi on
y
n+1
= y
n
+
_
t
n+1
tn
P
1
(t) dt,
siendo P
1
(t) el polinomio de interpolaci on asociado a los puntos (t
n
, f
n
), (t
n1
, f
n1
).
As pues P
1
(t) = f
n
+
f
n
f
n1
h
(t t
n
).
Integrando se obtiene que el metodo de Adams-Bashforth de orden 2 viene dado por
y
n+1
= y
n
+
h
2
(3f
n
f
n1
) .
(Vease problema resuelto 13.)
Caractersticas:
i) Es un metodo convergente, como puede comprobar el lector.
ii) Como todos los metodos multipaso, no se autoinicia. De acuerdo con el algoritmo,
necesitamos calcular y
1
previamente. Suele utilizarse como algoritmo de arranque un
metodo de Runge-Kutta de orden 2 y con el se calcula y
1
. Despues se calcula
y
2
= y
1
+
h
2
(3f
1
f
0
)
y se sigue sin problemas.
iii) El error local correspondiente es o(h
3
), mientras que el error global es o(h
2
).
254 Metodos numericos
3.4. Metodo de Adams-Bashforth de orden 4
Se corresponde con el caso r = 3. En este caso el polinomio interpolador P
3
(t) est a
asociado a los puntos (t
n
, f
n
), (t
n1
, f
n1
), (t
n2
, f
n2
) y (t
n3
, f
n3
).
Integrando en la expresi on y
n+1
= y
n
+
_
t
n+1
tn
P
3
(t) dt, se obtiene la f ormula del metodo
de Adams-Bashforth de orden 4: y
n+1
= y
n
+
h
24
(55f
n
59f
n1
+ 37f
n2
9f
n3
).
Caractersticas:
i) El metodo es convergente, como puede comprobar el lector.
ii) En este caso, para calcular y
n+1
se utiliza informaci on relativa a los pasos n, n 1,
n 2 y n 3. Por lo tanto el metodo no se autoinicia. Adem as de los datos iniciales
(t
0
, y
0
) se necesitan los valores y
1
, y
2
, y
3
, que se calculan habitualmente mediante el
metodo de Runge-Kutta de cuarto orden, se nalado en el epgrafe 2.17. (Vease problema
resuelto 14.)
iii) El error de este metodo es similar a los de Runge-Kutta de orden 4, aunque los coe-
cientes son m as elevados.
Nota: El metodo cl asico de deducir manualmente las diferentes f ormulas de Adams-Bash-
forth consiste en expresar el polinomio interpolador correspondiente en terminos del operador
diferencia, lo que facilita el c alculo de la integral.
La potencia de los actuales sistemas de c alculo simb olico permite prescindir de esta
tecnica y abordar directamente la integral del polinomio interpolador calculado por el propio
sistema.
En los documentos NUMERIC MULTI del CD se ilustra esta tecnica directa.
3.5. Ideas generales sobre los metodos de prediccion-correccion
Los metodos de predicci on-correcci on utilizan de modo combinado dos metodos multi-
paso convergentes. Si se considera una expresi on del tipo
y
n+1
= y
np
+
_
t
n+1
t
np
f(t, y(t)) dt
y se aproxima la integral usando un polinomio interpolador en los puntos t
n+1
, t
n
, . . . , t
nr+1
(utilizando la misma tecnica descrita anteriormente), se obtiene una f ormula del tipo
y
n+1
= y
np
+ h (A
0
f
n+1
+ A
1
f
n
+ + A
r
f
nr+1
)
que presenta la dicultad de ser un metodo implcito, es decir se necesita f
n+1
= f(t
n+1
, y
n+1
)
para calcular precisamente y
n+1
. En ocasiones es posible despejar y
n+1
, pero en general no.
Ese obst aculo se salva recurriendo a la siguiente estrategia:
i) Se calcula, por alg un metodo explcito convergente, una primera estimaci on y
n+1,0
de
y
n+1
. Este valor y
n+1,0
se llama valor predicho de y
n+1
y la f ormula que lo proporciona
recibe el nombre de f ormula predictora.
Metodos multipaso para ecuaciones diferenciales ordinarias 255
ii) Dada una estimaci on y
n+1,0
se calcula f
n+1,0
= f(t
n+1
, y
n+1,0
) y una nueva estimaci on
para y
n+1
(denotada y
n+1,1
) dada por
y
n+1,1
= y
np
+ h (A
0
f
n+1,0
+ A
1
f
n
+ + A
r
f
nr+1
) .
Dicha f ormula recibe el nombre de f ormula correctora.
Nota: Se puede corregir s olo una vez o aplicar varias veces la f ormula correctora para as
obtener correcciones sucesivas. En ese caso, dada la estimaci on y
n+1,k
se calcula entonces
f
n+1,k
= f (t
n+1
, y
n+1,k
) y una nueva estimaci on
y
n+1,k+1
= y
np
+ h (A
0
f
n+1,k
+ A
1
f
n
+ + A
r
f
nr+1
) .
3.6. Metodo de Adams-Moulton de orden 4
Este metodo utiliza como f ormula predictora el algoritmo de Adams-Bashforth de orden
4, que es
y
n+1,0
= y
n
+
h
24
(55f
n
59f
n1
+ 37f
n2
9f
n3
) .
La f ormula correctora se deduce de la expresi on
y
n+1,1
= y
n
+
_
t
n+1
tn
P
3
(t) dt,
donde P
3
es el polinomio interpolador en la tabla de puntos [(t
n2
, f
n2
), (t
n1
, f
n1
), (t
n
, f
n
),
(t
n+1
, f
n+1,0
)]. Se obtiene as la f ormula
y
n+1,1
= y
n
+
h
24
(9f
n+1,0
+ 19f
n
5f
n1
+ f
n2
)
o bien (para k correcciones)
y
n+1,k
= y
n
+
h
24
(9f
n+1,k1
+ 19f
n
5f
n1
+ f
n2
) .
(Vease problema resuelto 17.)
Notas:
1) Una ventaja de los metodos multipaso frente a los de paso simple es que las distintas
evaluaciones de la funci on f se utilizan en varias iteraciones sucesivas, lo que permite
un ahorro de c alculos.
2) El usuario puede deducir un metodo predictor-corrector que se ajuste a sus necesidades,
combinando la obtenci on de dos f ormulas multipaso, una abierta y una cerrada. (Vease
problema resuelto 16.)
3) Existen otros metodos multipaso explcitos e implcitos derivados de expresiones an alogas
a las desarrolladas anteriormente variando el intervalo de integraci on y los puntos de
interpolaci on o bien variando el metodo de interpolaci on, utilizando por ejemplo poli-
nomios trigonometricos.
256 Metodos numericos
4. Sistemas de ecuaciones diferenciales de primer orden
En este apartado vamos a generalizar los metodos de Runge-Kutta para los S.E.D.O. de
primer orden.
En notaci on vectorial, se considera el P.V.I. dado por y

= f(t, y), y(t


0
) = y
0
, donde
y = (y
1
, . . . , y
n
), y

= (y

1
, . . . , y

n
), f = (f
1
, . . . , f
n
) : IRIR
n
IR
n
, y
0
= (y
0
1
, . . . , y
0
n
).
Dicho sistema se escribe tambien:
_

_
y

1
= f
1
(t, y
1
, . . . , y
n
), y
1
(t
0
) = y
0
1
y

2
= f
2
(t, y
1
, . . . , y
n
), y
2
(t
0
) = y
0
2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
y

n
= f
n
(t, y
1
, . . . , y
n
), y
n
(t
0
) = y
0
n
que es la forma habitual de presentar este P.V.I.
4.1. Metodo de Runge-Kutta para S.E.D.O.
Se puede generalizar a S.E.D.O. los metodos de Runge-Kutta. Como ejemplo presen-
tamos la generalizaci on del metodo de Runge-Kutta de cuarto orden m as habitual dado
en el epgrafe 2.17 para obtener la soluci on aproximada de este problema en m + 1 puntos
equiespaciados del intervalo [a, b] = [t
0
, t
m
].
En este caso, t
0
= a, h =
b a
m
, t
j
= t
0
+ hj (0 j m). Para evitar confusiones,
utilizamos superndices para denotar los valores aproximados obtenidos y subndices para la
notaci on de las componentes. Por consiguiente y
j
y(t
j
) (0 j m) y en ese caso, la
f ormula de Runge-Kutta en el caso vectorial viene dada por
y
j+1
= y
j
+
h
6
_
k
1
+ 2k
2
+ 2k
3
+ k
4
_
donde:
_

_
k
1
= f (t
j
, y
j
)
k
2
= f
_
t
j
+
h
2
, y
j
+
h
2
k
1
_
k
3
= f
_
t
j
+
h
2
, y
j
+
h
2
k
2
_
k
4
= f
_
t
j
+ h, y
j
+ hk
3
_
.
Notas:
1) Con la notaci on vectorial se consigue el paralelismo total entre ecuaciones y sistemas.
Usando esta notaci on, es f acil extender a sistemas otros metodos de resoluci on aproxi-
mada de E.D.O.
2) El c odigo correspondiente a un programa del metodo de Runge-Kutta v alido para
sistemas de ecuaciones diferenciales ordinarias, en los lenguajes de Maple y Mathe-
matica, puede encontrarse en los documentos NUMERIC SIMPLE del CD.
3) Obviamente el metodo puede utilizarse para E.D.O. de orden superior pasando al
S.E.D.O. correspondiente. (Vease problema resuelto 10.)

Potrebbero piacerti anche