Resolución numérica de problemas de valores iniciales

Anuncio
Capítulo 5
Resolución numérica de
problemas de valores iniciales
5.1
Introducción
En muy pocos casos se puede encontrar la solución exacta de un problema
de valores iniciales (p.v.i.) y, por tanto, es imprescindible establecer métodos
aproximados de cálculo, entre los que se encuentran los basados en desarrollos
en serie de potencias, en serie de Frobenius, etc, además de una categoría
diferente formada por métodos numéricos.
Consideremos el problema de valores iniciales (p.v.i.)
x0 = f (t; x) ; x (a) = ;
T
(5.1)
T
donde x = (x1 ; x2 ; : : : ; xm ) , = ( 1 ; 2 ; : : : ; m ) y f : D R Rm ! Rm
es continua en el dominio D, además de satisfacer una condición de Lipschitz
respecto de x con constante L, y (a; ) 2 D. Sea x : I ! R la única solución
de (5.1) y sea b 2 R tal que [a; b] I. Los métodos numéricos se basan en la
idea de discretización, es decir, en determinar valores aproximados de x en el
conjunto de nodos ftn g0 n N de…nidos por
tn = a + nh; n = 0; 1; : : : ; N;
con
h=
b
a
;
N
siendo N
1 dado. La longitud de paso h determina la partición de [a; b].
Si x0 , x1 , : : :, xN son aproximaciones de x (t0 ), x (t1 ), : : :, x (tN ), respectivamente, fxn g0 n N es una solución numérica del p.v.i. (5.1).
2
Capítulo 5. Resolución numérica de problemas de valores iniciales
Las hipótesis sobre f se mantendrán mientras no se especi…que otra cosa
y no se hará en lo sucesivo referencia explícita a las mismas.
5.2
Algunos métodos
Los resultados establecidos sobre derivación e integración numéricas hacen
posible construir diferentes métodos de generación de soluciones numéricas.
Desarrollaremos algunos ejemplos, para lo que supondremos que m = 1.
Via desarrollo de Taylor
Si la solución x fuese de clase dos, entonces, por la fórmula de Taylor con resto
de Lagrange, se puede escribir
1
x (tn+1 ) = x (tn + h) = x (tn ) + hx0 (tn ) + h2 x00 ( n ) ;
2
(5.2)
donde n 2 (tn ; tn+1 ). Como x es solución de la ecuación diferencial, la igualdad (5.2) se transforma en
1
x (tn+1 ) = x (tn ) + hf (tn ; x (tn )) + h2 x00 ( n ) ;
2
igualdad cierta para n = 0; 1; : : : ; N 1. El método de Euler, o de EulerCauchy, consiste en aproximar los valores x (tn ) mediante los xn generados
por el siguiente procedimiento:
xn+1 = xn + hf (tn ; xn ) ; n = 0; 1; : : : ; N
x0 =
1
(5.3)
Su relación con el método de las poligonales de Euler es evidente.
Podemos también generar una solución numérica de (5.1) por medio del
siguiente esquema:
xn+1 = xn + hf
tn +
h
h
; xn + f (tn ; xn ) ; n = 0; 1; : : : ; N
2
2
1
(5.4)
x0 =
Es el método de Euler corregido. Para calcular xn+1 a partir de xn hay que
evaluar dos veces la función f .
§5.2 Algunos métodos
3
Via integración numérica
Hemos visto cómo la técnica empleada para establecer el método de Euler
puede seguirse para encontrar los métodos de Taylor y cómo es posible, al
menos en el caso que hemos desarrollado, producir un método con un error
similar pero para el que no hay que calcular derivadas.
Vamos a proceder de un modo totalmente diferente para establecer otro
método para generar una solución numérica.
De nuevo, sea x la única solución del p.v.i (5.1). Consideremos un subintervalo cualquiera [tn ; tn+2 ]. Como x0 (t) = f (t; x (t)) para t 2 [a; b], se cumple
que
Z
Z
tn+2
x0 (t) dt =
tn+2
f (t; x (t)) dt;
tn
tn
es decir,
x (tn+2 )
x (tn ) =
Z
tn+2
f (t; x (t)) dt:
tn
Consideremos ahora la función g (t) = f (t; x (t)), que no es conocida al no
disponer de x. La fórmula de Simpson permite escribir
Z tn+2
h
h5 (v)
g (t) dt = (g (tn ) + 4g (tn+1 ) + g (tn+2 ))
g ( );
3
90
tn
por lo que
h
(f (tn ; x (tn )) + 4f (tn+1 ; x (tn+1 )) +
3
h5
f (tn+2 ; x (tn+2 ))) + g (v) ( ) :
90
x (tn+2 ) = x (tn ) +
Es razonable generar una solución numérica del p.v.i. (5.1) mediante el siguiente procedimiento, en que se usa la notación fn = f (tn ; xn ):
xn+2 = xn +
x0 =
h
(fn + 4fn+1 + fn+2 ) ; 0
3
n
N
2
(5.5)
Es el denominado método de Simpson.
Claramente, en los métodos de Euler y Euler corregido que hemos desarrollado el cálculo del término xn+1 de la solución numérica se basa en el
conocimiento del xn ; la sucesión fxn g0 n N se calcula secuencialmente a partir x0 = , haciendo n = 0; 1; : : : ; N 1 en las ecuaciones en diferencias de
4
Capítulo 5. Resolución numérica de problemas de valores iniciales
(5.3), (??) y (5.4), respectivamente. En el método de Simpson (5.5) el término
xn+2 de la solución numérica se calcula a partir de los dos precedentes, por lo
que será necesario proporcionar un valor inicial adicional, x1 , antes de que la
sucesión fxn g0 n N pueda ser calculada.
Si el método es tal que, dados xn+j , j = 0; 1; : : : ; k 1, se determina xn+k
explícitamente, el método se dice explícito; éste es el caso de los métodos de
Euler y Euler corregido que hemos considerado. Si, por el contrario, el valor
xn+k no puede ser calculado sin resolver un sistema de ecuaciones entonces el
método se dice implícito. Como la función f es, en general, no lineal en x,
en los métodos implícitos hay que considerar la resolución de un sistema no
lineal de ecuaciones en cada paso de los cálculos, y son, por tanto, computacionalmente más costosos que los métodos explícitos. Observemos, por último,
que en la ecuación en diferencias para el método de Simpson intervienen sólo
combinaciones lineales de xn+j , f (tn+j ; xn+j ), j = 0; 1; : : : ; k.
Los métodos desarrollados son aplicables para resolver p.v.i. correspondientes a sistemas diferenciales, es decir, en el caso m > 1.
5.3
Métodos de Runge-Kutta
El intento de evitar el uso de derivadas sucesivas conduce a los métodos de
Runge-Kutta, que responden a la formulación general (para sistemas diferenciales)
s
X
xn+1 = xn + h
bi K i ;
(5.6)
i=1
donde
0
Ki = f @tn + ci h; xn + h
s
X
j=1
1
aij Kj A ; i = 1; 2; : : : ; s:
(5.7)
El valor s indica el número de evaluaciones de f que hay que efectuar.
La idea subyacente consiste básicamente en considerar s números ordenados del 0 al 1 de la forma
0 = c1
c2
cs
1,
y en emplear la subdivisión
tn
tn + c1 h
tn + c2 h
tn + cs h
tn+1
§5.3 Métodos de Runge-Kutta
5
del subintervalo [tn ; tn+1 ]. Supondremos que se veri…ca la condición
ci =
s
X
aij ; i = 1; 2; : : : ; s:
(5.8)
j=1
El método de Runge-Kutta (5.6)-(5.8) se representa por medio de la tabla
c1
c2
..
.
a11
a21
..
.
a12
a22
..
.
cs
as1
b1
as2
b2
..
.
a1s
a2s
..
.
ass
bs
Será un método explícito si aij = 0 para j i, i = 1; 2; : : : ; s.
Su convergencia dependerá de su consistencia.
Proposición.- El método (5.6)-(5.8) es consistente si y sólo si
Ps
i=1 bi
= 1.
Si el método es consistente, entonces el error de truncatura local es O h2 .
Valores moderados de s conducen a algunos métodos explícitos particulares.
1. s = 2
(a) Método de Euler modi…cado
0
1
2
1
2
0
1
(b) Método de Euler mejorado
0
1
1
1
2
2. s = 3
1
2
6
Capítulo 5. Resolución numérica de problemas de valores iniciales
(a) Método de Heun
0
1
3
2
3
1
3
0
2
3
1
4
0
3
4
(b) Método de Kutta
0
1
2
1
2
1
1
2
1
6
2
3
1
6
3. s = 4 Método clásico de Runge-Kutta
0
1
2
1
2
1
2
0
1
2
1
0
0
1
1
6
1
3
1
3
1
6
Descargar