Академический Документы
Профессиональный Документы
Культура Документы
ndice General
Advertencia: Esta es la primera versin de los apuntes de mtodos numricos del cuarto curso
de Ingeniera Industrial. No han sido corregidos y probablemente contengan numerosos errores, pero
he decidido colgarlos en la web para que sirva de guia de estudio. Para corregir errores, podeis
escribir a mi direccin de correo Jose.Canovas@upct.es.
Por otra parte, los ejercicios de los temas 2, 3 y 4 fueron redactados por el profesor David Lpez.
ndice General
ii
ndice General
1 Ecuaciones en diferencias
1.1 Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Transformada Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.1 Definicin y propiedades bsicas . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.2 Transformada Z inversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.3 Aplicacin a la resolucin de la ecuacin en diferencias lineales con coeficientes
constantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.4 Frmula de inversin compleja . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.5 Funciones de transferencia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Ecuaciones no lineales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
9
11
12
13
2 Mtodos de un paso
2.1 Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Mtodos de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 Mtodo de Euler . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2 Mtodo de Taylor de orden 2 . . . . . . . . . . . . . . . . . .
2.3 Mtodos de RungeKutta de orden dos . . . . . . . . . . . . . . . . .
2.4 Anlisis del error en los mtodos de orden uno . . . . . . . . . . . . .
2.4.1 Error local de truncamiento en el mtodo de Taylor . . . . . .
2.4.2 Error local de truncamiento en los mtodos de RungeKutta .
2.4.3 Relacin entre el error local de truncamiento y el error global .
2.5 Extrapolacin de Richardson . . . . . . . . . . . . . . . . . . . . . . .
2.6 Ms sobre los mtodos RungeKutta . . . . . . . . . . . . . . . . . .
2.6.1 El mtodo de 3 etapas . . . . . . . . . . . . . . . . . . . . . .
2.6.2 El mtodo de cuatro etapas . . . . . . . . . . . . . . . . . . .
2.6.3 Mtodos de ms etapas . . . . . . . . . . . . . . . . . . . . . .
2.7 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
17
17
17
19
21
23
27
29
29
30
31
33
33
37
39
40
.
.
.
.
.
47
47
47
49
51
52
3 Mtodos multipaso
3.1 Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Mtodos multipaso lineales . . . . . . . . . . . . . . . . . . . . . . .
3.3 Primeros ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4 Mtodos de multipaso deducidos a partir de la integracin numrica
3.4.1 Mtodos de AdamsBashforth . . . . . . . . . . . . . . . . .
iii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
4
4
6
ndice General
3.5
3.6
3.7
3.8
3.9
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
iv
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
53
55
57
58
59
59
.
.
.
.
.
.
.
.
63
63
63
67
67
70
77
82
84
Captulo 1
Ecuaciones en diferencias
Sumario.
Ecuaciones en diferencias. Solucin de una ecuacin en diferencias.
Ecuaciones lineales: teora general. Transformada Z. Estabilidad de ecuaciones en
diferencias lineales. Estabilidad local de ecuaciones en diferencias no lineales.
1.1
Introduccin
(1.1)
Ecuaciones en diferencias
As, por ejemplo la sucesin constante xn = 1 es solucin de la ecuacin yn+2 = yn . Tambin lo es
la sucesin xn = (1)n . Como vemos, una ecuacin puede tener distintas soluciones, pero sta es
nica si imponemos una serie de k condiciones iniciales. As, xn = (1)n es la nica solucin de la
ecuacin
yn+2 = yn ,
y1 = 1, y2 = 1.
Llamaremos a estos problemas de condiciones iniciales, por su analoga con las ecuaciones diferenciales ordinarias.
Dentro de las ecuaciones en diferencias, tienen un espcial inters las llamadas ecuaciones lineales,
que son de la forma
yn+k + a1n yn+k1 + ... + akn yn = bn ,
donde a1n , ..., akn , bn son sucesiones de nmeros reales. En el caso de que las sucesiones a1n , ..., akn sean
constantes, esto es, ain = ai para todo n 0 y para todo i {1, ..., k}, la ecuacin lineal se dir de
coeficientes constantes. En general, tambin distinguiremos entre ecuaciones homogneas si bn = 0
para todo n 0, y no homogneas en caso contrario. Las ecuaciones
yn+3 + nyn+1 yn = 1,
yn+2 yn+1 yn = 0,
son ecuaciones en diferencia lineales, siendo la primera no homognea y la segunda homognea y con
coeficientes constantes.
Las ecuaciones lineales juegan un importante papel en la modelizacin de circuitos digitales.
Vemoslo con el siguiente ejemplo que proviene de la electrnica (ver [?]). Para fijar ideas, consideremos el siguiente ejemplo.
Este dispositivo genera una sucesin de salida yk para una sucesin de entrada xk de la siguiente
manera. El elemento marcado con una a dentro de un crculo amplifica el dato de entrada la magnitud
a R. Por ejemplo
El segundo elemento, una D dentro de un rectngulo, retarda la seal o sucesin de entrada una
2
Ecuaciones en diferencias
unidad temporal. As
Finalmente, el elemento marcado con un smbolo S dentro de un crculo, suma los datos que le llegan:
Combinando varios de estos elementos, construimos los llamados circuitos digitales, como el de
la figura anterior. sta representa uno de los tipos ms sencillos de retroalimentacin de una seal.
Los datos de entrada vienen dados por la sucesin xk y los de salida por
yk+1 = rk .
(1.2)
(1.3)
donde a es un nmero real. Combinando (1.2) y (1.3) obtenemos la ecuacin en diferencias de orden
uno
yk+1 + ayk = xk .
Si complicamos el dispositivo, como se muestra en la figura,
Ecuaciones en diferencias
vk+1 = rk ,
rk = xk + byk avk ,
de donde se obtiene la ecuacin
yk+2 + ayk+1 byk = xk .
Por ejemplo supongamos la ecuacin
1.2
Transformada Z
1.2.1
X
xn
Z[xk ](z) =
.
(1.4)
n
z
n=0
P
n
Ntese que (1.4) es una serie de Laurent con parte regular x0 y parte singular
, y que
n=1 xn z
por tanto converger en un disco de convergencia de la forma
A(0, r, +) = {z C : |z| > r}
P
n
donde r es el radio de convergencia de la serie de potencias
n=1 xn z .
Por ejemplo, si = (1, 0, 0, 0, ...) entonces su transformada Z es
Z[](z) = 1
definida en todo el plano complejo. Si xk = (1, 1, 1, ...), entonces
Z[1](z) =
X
1
1
=
n
z
1
n=0
1
z
z
,
z1
Ecuaciones en diferencias
Demostracin. Basta calcular
X
xn + yn
Z[xk + yk ](z) =
n=0
n=0
zn
X
xn
yn
+
kX
0 1
xn z k0 n .
n=0
Demostracin. Calculamos
Z[xk+1 ](z) =
X
xn+1
n=0
zn
= z
= z
n=0
X
n=0
X
xn+1
xn
=z
n+1
z
zn
n=1
xn
zx0 = zZ[xk ](z) zx0 .
zn
Z[a xk ](z) =
X
an xn
n=0
zn
X
n=0
xn
= Z[xk ](z/a).
(z/a)n
Z[2 ](z) =
X
2n
n=0
zn
1
1
2
z
z
.
z2
Ecuaciones en diferencias
Dadas las sucesiones xk y km , m N, se verifica
Z[k m xk ](z) = [z
d m
] Z[xk ](z),
dz
d
se entiende la operacin derivada y luego multiplicacin por z.
donde por z dz
X
nxn
zn
n=0
X
nxn
n=1
zn
X
nxn
d xn
= z
=z
n+1
z
dz z n
n=1
n=1
!
!
X xn
d X xn
d
d
= z
= z
x0 = z Z[xk ](z).
n
n
dz
z
dz n=0 z
dz
n=1
Si suponemos el resultado cierto para m, veamos que tambin lo es para m + 1. Para esto calculamos
d
Z[km xk ](z)
dz
d m
d
d
= (z )[z ] Z[xk ](z) = [z ]m+1 Z[xk ](z).
dz
dz
dz
dz z
d
d z
d
z
z2
= z
+
z
= z
dz
dz z 1
dz z 1 (z 1)2
3z 2
2z 3
z
+
,
=
z 1 (z 1)2 (z 1)3
Z[k2 ](z) = [z
si |z| > 1.
1.2.2
Transformada Z inversa
o equivalentemente
xn = Z 1 [F (z)].
Para calcular la transformada Z de una funcin F (z) basta calcular el desarrollo en serie de Laurent
centrada en cero de manera que tenga un anillo de convergencia de la forma {z C : |z| > r}, donde
1
, entonces desarrollando en serie de Laurent
r 0. Por ejemplo, si F (z) = z1
1
1 1
=
z1
z1
X 1
1X 1
=
=
z n=0 z n n=0 z n+1
1
z
Ecuaciones en diferencias
si |z| > 1. Entonces la sucesin
xk = Z 1 [1/(z 1)] = (0, 1, 1, 1, ...).
1.2.3
Consideramos el problema
z
.
z1
(z 2 + z 2)Z[yk ](z) = z +
con lo que
Z[yk ](z) =
Pasamos a fracciones simples
Z[yk ](z) =
z2
z
=
,
z1 z1
z2
.
(z 2 + z 2)(z 1)
1
4
z2
3
=
+
,
2
2
(z 1) (z + 2)
(z 1)
z1 z+2
1
1 1
1 X 2
(2)n
=
=
=
z + 2 z 1 2
z n=0 z
z n+1
z
n=0
si |z| > 2.
1
1 1
=
z1
z1
1
z1
d
=
dz
X 1
1X 1
=
=
z n=0 z n n=0 z n+1
1
z
X 1
X
X
d 1
n+1
=
=
n+1
n+1
z
dz z
z n+2
n=0
n=0
n=0
7
Ecuaciones en diferencias
si |z| > 1. Entonces si |z| > 2 se tiene que
1
3
4
+
2
(z 1)
z1 z+2
Xn+1
X
X
1
(2)n
3
+
4
=
z n+2
z n+1
z n+1
n=0
n=0
n=0
Z[yk ](z) =
X 4(2)n+1
1 Xn+1 X 3
+
z n=0 z n+2
z n+2 n=0 z n+2
n=0
1 X n 4 + 4(2)n+1
+
=
,
z n=0
z n+2
por lo que si k 2
yk = 4(2)k+1 4 + k.
X
1
1
=
Z[1](z) =
n
z
1
n=0
mientras que
1
z
z
,
z1
Z[xn+2 2xn+1 + 2xn ](z) = Z[xn+2 ](z) 2Z[xn+1 ](z) + 2Z[xn ](z)
= z 2 Z[xn ](z) z 2 x0 zx1 2zZ[xn ](z) 2zx0 + 2Z[xn ](z)
= (z 2 2z + 2)Z[xn ](z),
de donde
Z[xn ](z) =
(z
z
.
2z + 2)
1)(z 2
Desarrollamos la funcin en serie de Laurent para calcular xn . Para ello en primer lugar
(z
z
z
=
2z + 2)
(z 1)(z 1 i)(z 1 + i)
1 1+i
1 1i
1
.
=
z 1 2z 1i 2z 1+i
1)(z 2
X 1
1X 1
=
=
,
z n=0 z n n=1 z n
1
z
Ecuaciones en diferencias
n X
1
1
1 1
1X 1+i
=
=
=
(1 + i)n1 n ,
1+i
z1i
z1 z
z n=0
z
z
n=1
n X
1
1
1 1
1X 1i
=
=
=
(1 i)n1 n ,
1i
z1+i
z1 z
z n=0
z
z
n=1
X
z
1
1
1X
1X
n 1
(1 + i) n
(1 i)n n
=
2
n
(z 1)(z 2z + 2)
z
2 n=1
z
2 n=1
z
n=1
X
1
1
1
n
n
1 (1 + i) (1 i)
=
,
2
2
zn
n=1
X
z
n 1
n/2
=
1 2 cos
,
(z 1)(z 2 2z + 2) n=1
4 zn
y por tanto
xn = 1 2n/2 cos
1.2.4
n
.
4
Supongamos que
Z[xk ](z) =
xk z k ,
k=0
n1
xk z nk1 .
k=0
Supongamos una circunferencia del plano complejo que contiene todas las singularidades de la
funcin Z[xk ](z)z n1 , para todo n 1. Por la frmula integral de Cauchy
1
2i
Z[xk ](z)z
n1
1
dz =
2i
() =
1
2i
9
Z X
k=0
XZ
k=0
xk z nk1 dz
xk z nk1 dz = xn ,
Ecuaciones en diferencias
dado que
xk z
nk1
dz =
0
si n k 6= 2,
2ixn si n k = 2.
1
xn =
2i
Z[xk ](z)z n1 dz =
m
X
Res(Z[xk ](z)z n1 , zi )
i=1
dm1
1
lim m1 (z zi )m Z[xk ](z)z n1 .
(m 1)! zzi dz
z(z 1)
.
(z 2)2 (z + 3)
d
z n (z 1)
1
n1
2
lim
(z 2)
Res(f (z)z , 2) =
1! z2 dz
(z 2)2 (z + 3)
n
d z (z 1)
= lim
z2 dz
(z + 3)
n1
(nz (z 1) + z n )(z + 3) z n (z 1)
= lim
z2
(z + 3)2
4
(n2n1 + 2n )5 2n
1
= 2n + n2n ,
=
25
25
50
y
z n (z 1)
z3
(z 2)2 (z + 3)
z n (z 1)
4
= lim
= (3n ).
2
z3 (z 2)
25
Res(f (z)z n1 , 3) =
De esta forma
xn =
lim (z 3)
4 n
1
4
2 + n2n (3n ).
25
50
25
Sea ahora
f (z) =
z2
1
,
+1
10
Ecuaciones en diferencias
y
z n1
zi
(z i)(z + i)
n1
z
1
1
= lim
= (i)n1 = (i)n ,
zi (z i)
2i
2
Res(f (z)z n1 , i) =
lim (z + i)
por lo que
1
1
xn = in + (i)n .
2
2
Expresando los nmeros complejos en forma trigonomtrica y utilizando la frmula de De Moivre,
obtenemos
1
1
xn = in + (i)n
2
2
n
1
1
+ i sin
)
= (cos + i sin )n + (cos
2
2
2
2
2
2
1
n
n
1
n
n
= (cos
+ i sin
) + (cos
+ i sin
),
2
2
2
2
2
2
y dado que
sin
y
cos
n
n
= sin
2
2
n
n
= cos
2
2
obtenemos
xn = cos
1.2.5
n
.
2
Funciones de transferencia.
(1.5)
1
an
zn
+ an1
z n1
+ ... + a1 z + a0
Z[uk ](z).
Z[yk ](z)
1
=
.
n
n1
Z[uk ](z)
an z + an1 z
+ ... + a1 z + a0
11
Ecuaciones en diferencias
Podemos estudiar entonces la estabilidad de la ecuacin entendiendo sta de forma anloga al caso
continuo estudiada en el tema anterior, es decir, si para toda solucin asociada a una condicin inicial
dada se verifica que
lim yk = 0.
k
El siguiente resultado caracteriza la estabilidad del sistema en base a los polos de la funcin de
transferencia.
Theorem 1 El sistema dado por la ecuacin (1.5) es estable si y slo si todos los polos de la funcin
de transferencia verifican que |z| < 1.
1.3
Ecuaciones no lineales
= zn3 ,
zn+1
............
z k1 = znk ,
n+1
k
1
k
zn+1
= f (n, zn+1
, ..., zn+1
).
Esto es, si zn = (zn1 , ..., znk ), entonces de forma compacta el sistema se puede escribir como
zn+1 = f(n, zn )
donde
1
k
, ..., zn+1
)).
f(n, zn1 , ..., znk ) = (zn2 , zn3 , ..., znk , f (n, zn+1
Si la ecuacin o sistema de orden uno no depende explcitamente de n, se dice que dicha ecuacin
o sistema es autnomo. Por ejemplo,
yn+1 = 4yn (1 yn1 ),
es una ecuacin autnoma y
xn+1 = xn + yn ,
yn+1 = xn yn ,
es un sistema autnomo de orden uno.
Las ecuaciones y sistemas de orden uno han tenido un reciente desarrollo debido a que son modelos
de ciencias experimentales como la ecologa y la economa. Con frecuencia, presentan lo que se conoce
como comprotamiento catico o complicado.
12
Ecuaciones en diferencias
1.4
Ejercicios
y1 = 1
y1 = 2
yn+2 2yn+1 + yn = 1
y0 = 0
(e)
(d)
y1 = 0
y0 = 1
(g)
y
=0
1
y2 = 1
yn+2 4yn+1 + yn = n
y0 = 1
y1 = 0
y1 (0) = 1
yn+2 + yn = n + 2
y0 = 1
(h)
y1 = 1
yn+2 + yn = n
y0 = 0
(f)
y1 = 0
y1 = 1
6. Obtener la solucin de los siguientes circuitos digitales suponiendo condiciones iniciales nulas:
13
Ecuaciones en diferencias
14
Ecuaciones en diferencias
15
Ecuaciones en diferencias
16
Captulo 2
Mtodos de un paso
Sumario.
Mtodos de Taylor. Mtodos de RungeKutta: tablas de Butcher.
Anlisis del error global. Extrapolacin de Richardson.
2.1
Introduccin
(2.1)
donde la funcin f : Rm+1 Rm es suficiente regular para que dicho problema tenga solucin
f
nica. Por ejemplo, f y y
, i = 1, ..., m continuas. Sin embargo, dada un problema de condiciones
i
iniciales arbitrario, es muy posible que no sepamos cmo hallar dicha solucin. Basta considerar el
problema
0
2
y = ey ,
y(0) = 4.
Es por ello importante determinar mtodos que permitan obtener aproximaciones de dichas soluciones, que existen, pero son desconocidas.
En esencia, dado el problema (2.1), denotemos su solucin por y(t; t0 , y0 ) y buscamos cmo
aproximar el valor de y(tf ; t0 , y0 ), para un cierto tf > t0 (anlogamente se hara para tf < t0 ). Los
mtodos que vamos a estudiar consisten en generar una sucesin y0 , y1 , ..., yn de manera que yn sea
un valor aproximado de y(tf ; t0 , y0 ). Vamos a ver en este tema varias maneras de construir dicha
sucesin.
2.2
Mtodos de Taylor
Mtodos de un paso
donde O(hn ) es denota una funcin g(h) para la cual existe una constante positiva k tal que |g(h)|
k|hn |. Entonces
y(t0 ; t0 , y0 ) = y0 ,
y0 (t0 ; t0 , y0 ) = f(t0 , y0 ) = f1 (t0 , y0 ),
d 0
d
y (t0 ; t0 , y0 ) = f1 (t0 , y0 )
dt
dt
f1 (t0 , y0 ) +
f1 (t0 , y0 )y0 (t0 ; t0 , y0 )
=
t
y
f1 (t0 , y0 ) +
f1 (t0 , y0 )f(t0 , y0 )
=
t
y
= f2 (t0 , y0 ),
y00 (t0 ; t0 , y0 ) =
donde por
f (t , y0 )
y 1 0
f2 (t0 , y0 ) +
f2 (t0 , y0 )y0 (t0 ; t0 , y0 )
=
t
y
f2 (t0 , y0 ) +
f2 (t0 , y0 )f(t0 , y0 )
=
t
y
= f3 (t0 , y0 ).
y3) (t0 ; t0 , y0 ) =
fn1 (t0 , y0 ) +
fn1 (t0 , y0 )y0 (t0 ; t0 , y0 )
=
t
y
fn1 (t0 , y0 ) +
fn1 (t0 , y0 )f(t0 , y0 )
=
t
y
= fn (t0 , y0 ).
yn) (t0 ; t0 , y0 ) =
1
1
f1 (t0 , y0 )h + f2 (t0 , y0 )h2 + ... +
1!
2!
1
fn (t0 , y0 )hn + O(hn ),
n!
con lo que
1
1
1
f1 (t0 , y0 )h + f2 (t0 , y0 )h2 + ... + fn (t0 , y0 )hn
1!
2!
n!
es una aproximacin de y(t1 ; t0 , y0 ), esto es
y1 = y0 +
1
1
1
f1 (t0 , y0 )h + f2 (t0 , y0 )h2 + ... + fn (t0 , y0 )hn .
1!
2!
n!
Veamos qu forma particular tiene esta aproximacin para diferentes valores de n.
y(t1 ; t0 , y0 ) y1 = y0 +
18
(2.2)
Mtodos de un paso
2.2.1
Mtodo de Euler
El mtodo de Taylor con n = 1, recibe el nombre de mtodo de Euler y fue quizs el primer mtodo
numrico generado mucho antes de la existencia de ordenadores. Como vemos, la expresin (2.2)
queda de la forma
1
(2.3)
y(t1 ; t0 , y0 ) y1 = y0 + f(t0 , y0 )h,
1!
y tiene un claro significado geomtrico. Imaginemos que m = 1, es decir, se trata de una ecuacin
diferencial. Entonces la recta tangente de la solucin y(t; t0 , y0 ) para t = t0 tiene la forma
y y(t0 ; t0 , y0 ) = y 0 (t0 ; t0 , y0 )(t t0 ),
y sustituyendo cada elemento de la expresin anterior por su valor obtenemos
y y0 = f (t0 , y0 )(t t0 ).
Si sustituimos t por t1 en la recta anterior obtenemos
y(t1 ; t0 , y0 ) y1 = y0 + f (t0 , y0 )h,
que es la expresin (2.3) para ecuaciones de dimensin uno. La figura 2.1 nos muestra grficamente
el mtodo.
Veamos cmo funciona el mtodo de Euler con un ejemplo. Consideremos el problema de condiciones iniciales
0
y = y,
y(0) = 1,
19
Mtodos de un paso
que como sabemos, tiene por solucin y(t; 0, 1) = et . Tomemos t1 = 0.1, y estimemos por el mtodo
de Euler y(0.1; 0, 1). Como h = 0.1, entonces
y1 = y0 + y0 h = 1 + 0.1 = 1.1.
Como vemos, el error cometido
e1 = |y(0.1; 0, 1) y1 | = |e0.1 1.1| 0.00517092.
y1 = y0 + y0 h = 1 + 1 = 2,
y el error
e1 = |y(1; 0, 1) y1 | = |e 2| 0.718282,
y2 = y1 + f(t1 , y1 )h1 ,
y de forma recurrente para i = 1, ..., n,
yi = yi1 + f(ti1 , yi1 )hi1 .
En general, suele tomarse hi = h, i = 0, 1, ..., n 1, cantidad que suele llamarse tamao de paso y n
el nmero de pasos. En este caso el mtodo de Euler queda como
yi = yi1 + f(ti1 , yi1 )h = yi1 + f(t0 + (i 1)h, yi1 )h,
para i = 1, ..., n.
En el ejemplo anterior, tomamos h = 0.1 y calculamos
y1
y2
y3
y4
y5
y6
y7
y8
y9
y10
=
=
=
=
=
=
=
=
=
=
Mtodos de un paso
y ahora los errores son
ei = |ei0.1 yi |,
para i = 1, ..., 10, que nos da la siguiente tabla aproximada
e1
e2
e3
e4
e5
e6
e7
e8
e9
e10
0.005 0.011 0.019 0.028 0.038 0.051 0.065 0.082 0.102 0.125
Como vemos, el error ha disminuido notablemente, a pesar de que en los pasos intermedios la aproximacin del mtodo de Euler no coincide en su condicin inicial con la solucin del problema de
condiciones original. Vemos no obstante que los errores se van acumulando desde e1 hasta e10 , de manera que estos van creciendo. Sin embargo, si disminuimos el tamao de paso, vemos en la siguiente
tabla como los errores al final dismuyen
h = 1 h = 0.1 h = 0.01 h = 0.001 h = 0.0001 h = 0.00001
0.718
0.125
0.013
0.001
0.00014
0.000014
Como vemos, al dividir el tamao de paso h por diez, el error final aproximadamente tambin hace
esta operacin. Veremos posteriormente una explicacin a este hecho.
2.2.2
1
1
f1 (t0 , y0 )h + f2 (t0 , y0 )h2 ,
1!
2!
y dado que
f1 (t0 , y0 ) = f(t0 , y0 )
y
f2 (t0 , y0 ) =
+
f(t0 + (i 1)h, yi1 ) + f(t0 + (i 1)h, yi1 ) f(t0 + (i 1)h, yi1 ) h2 ,
2 t
y
para i = 1, ..., n.
Si consideramos el problema de condiciones iniciales anterior
0
y = y,
y(0) = 1,
21
Mtodos de un paso
tenemos que f (t, y) = y, por lo que
de la forma
f
(t, y)
t
=0y
f
(t, y)
y
1
h2
2
yi = yi1 + yi1 h + yi1 h = 1 + h +
yi1 ,
2
2
h2
y1 =
1+h+
y0 = 1.105,
2
h2
y1 = 1.22103,
1+h+
y2 =
2
h2
1+h+
y2 = 1.34923,
y3 =
2
h2
y4 =
y3 = 1.4909,
1+h+
2
h2
y4 = 1.64745,
1+h+
y5 =
2
h2
y6 =
1+h+
y5 = 1.82043,
2
h2
y6 = 2.01157,
1+h+
y7 =
2
h2
y8 =
1+h+
y7 = 2.22279,
2
h2
y8 = 2.45618,
1+h+
y9 =
2
h2
y9 = 2.71408,
1+h+
y10 =
2
y ahora los errores son
ei = |ei0.1 yi |,
para i = 1, ..., 10, que nos da la siguiente tabla aproximada
e1
e2
e3
e4
e5
e6
e7
e8
e9
e10
0.00017 0.0004 0.0006 0.0009 0.0013 0.0017 0.0022 0.0028 0.0034 0.0042
Como vemos, el error decrece notablemente en comparacin al obtenido al aplicar el mtodo de
Euler. Adems, los errores para diferentes tamaos de paso son
h = 1 h = 0.1 h = 0.01 h = 0.001 h = 0.0001 h = 0.00001
0.2183 0.0042 0.000045 4.5 107 4.5 109
4.5 1011
Como vemos, se mejora notablemente el error con respecto al mtodo de Taylor, siendo ste adems
de orden dos, es decir, al dividir por 10 el tamao de paso, el error es aproximadamente el del paso
anterior al cuadrado.
22
Mtodos de un paso
Aumentando el orden del mtodo de Taylor, seguimos disminuyendo el error producido. Sin
embargo, el mtodo de Taylor presenta el problema de que hay que derivar sucesivamente las funciones
que determinan la ecuacin o sistema de ecuaciones diferenciales, y esto frecuentemente no es tarea
fcil. Adems, en el caso del ejemplo anterior para la ecuacin y 0 = y, el incremento del orden
no mejora el algoritmo dado que fm (t, y) = 0 para m 3. Veamos a continuacin una familia de
mtodos que presentan un avance en este sentido, y que se conocen como mtodos de RungeKutta.
2.3
t0
h
[f(t0 , y0 ) + f(tf , y1 )] ,
2
23
Mtodos de un paso
ser la aproximacin de y(tf ; t0 , y0 ) que buscbamos. Si tomamos un tamao de paso h = (tf t0 )/n,
se tiene que de forma compacta
yi+1
= y0 + hf(t0 + ih, yi ),
g1 = hf(ti1 , yi1 ),
g2 = hf(ti1 + h, yi1 + g1 ),
yi = yi1 + 12 (g1 + g2 ).
) = 2.71408,
y10 = y9 + h2 (y9 + y10
cuyos errores son
e1
e2
e3
e4
e5
e6
e7
e8
e9
e10
0.00017 0.0004 0.0006 0.0009 0.0013 0.0017 0.0022 0.0028 0.0034 0.0042
24
Mtodos de un paso
Obsrvese que son similares a los obtenidos en el mtodo de Taylor de segundo orden. Si variamos
el tamao de paso, obtenemos los siguientes errores para los siguientes valores
h = 1 h = 0.1 h = 0.01 h = 0.001 h = 0.0001 h = 0.00001
0.2183 0.0042 0.000045 4.5 107 4.5 109
4.5 1011
que reproducen los obtenidos en el mtodo de Taylor anteriormente mencionado.
La forma ms general posible para un mtodo de RungeKutta de orden dos es
g1 = hf(ti1 , yi1 ),
g2 = hf(ti1 + c2 h, yi1 + a21 g1 ),
yi = yi1 + b1 g1 + b2 g2 ,
donde los tiempos ti1 no tienen porqu ser uniformemente distribuidos, y b2 6= 0. Si tomamos
g2 (h)/h y desarrollamos mediante la serie de Taylor de primer orden obtenemos
g2 (h) = g2 (0) + hg20 (0) + O(h)
f
f
= f(ti1 , yi1 ) + h c2 (ti1 , yi1 ) + a21 (ti1 , yi1 )f(ti1 , yi1 ) + O(h),
t
y
por lo que
yi = yi1 + b1 g1 + b2 g2
f
f
= yi1 + (b1 + b2 )hf(ti1 , yi1 ) + b2 h c2 (ti1 , yi1 ) + a21 (ti1 , yi1 )f(ti1 , yi1 ) .
t
y
2
Por otra parte, la aproximacin mediante la serie de Taylor de orden dos de y(t; ti1 , yi1 ) era
b1 + b2 = 1,
b2 c2 = 1/2,
b2 a21 = 1/2.
Como b2 6= 0, tenemos que a21 = c2 = 2b12 y b1 = 1 b2 , lo cual nos proporciona una familia de
mtodos de RungeKutta de orden dos segn los valores de b2 . As, cuando b2 = 1/2, obtenemos el
mtodo de Heun anteriormente descrito. Cuando b2 = 1, tenemos
g1 = hf(ti1 , yi1 ),
g2 = hf(ti1 + h2 , yi1 + 12 g1 ),
e
h
1
yi = yi1 + hg2 = yi1 + hf(ti1 + , yi1 + g1 )
2
2
h
h
= yi1 + hf(ti1 + , yi1 + f(ti1 , yi1 )),
2
2
25
Mtodos de un paso
que es el algoritmo de Runge de 1895.
En general, un mtodo de RungeKutta explcito de m etapas es de la forma
yi = yi1 +
m
X
bj gj ,
j=1
donde
g1 = hf(ti1 , yi1 ),
g
2 = hf(ti1 + c2 h, yi1 + a21 g1 ),
g3 = hf(ti1 + c3 h, yi1 + a31 g1 + a32 g2 ),
................
siendo cj , j = 2, ..., m, bj , j = 1, ..., m y ajk , j = 1, ..., m, k = 1, ..., j 1, los coeficientes del mtodo.
Normalmente, estos coeficientes se agrupan segn la tabla
0
c2
c3
...
cm
a21
a31
...
am1
b1
a32
...
am2
b2
...
... amm1
... bm1
bm
y en forma matricial
ct
A
b
donde c = (0, c2 , ..., cm ), b = (b1 , b2 , ..., bm ) y A = (ajk ) Mmm (R) con ajk = 0 si k > j.
As, el mtodo dado por la tabla
0
1
2
1
2
1
y concretado en
que da
g1
g2
g
3
g4
1
2
1
2
0
0
1
6
1
3
1
3
1
6
= hf(ti1 , yi1 ),
= hf(ti1 + h2 , yi1 + 12 g1 ),
= hf(ti1 + h2 , yi1 + 12 g2 ),
= hf(ti1 + h, yi1 + g3 ),
1
1
1
1
yi = yi1 + g1 + g2 + g3 + g4
6
3
3
6
es el mtodo de Kutta de 1905, que es el mtodo clsico de RungeKutta de cuatro etapas, y como
veremos posteriormente, cuarto orden. Si aplicamos este mtodo a nuestro ejemplo
0
y = y,
y(0) = 1,
26
Mtodos de un paso
tenemos que los valores que obtenemos para tamao de paso h = 0.1 son
y1
y3
y5
y7
y9
= 1.10517,
= 1.34986,
= 1.64872,
= 2.01375,
= 2.4596,
y2 = 1.2214,
y4 = 1.49182,
y6 = 1.82212,
y8 = 2.22554,
y10 = 2.71828,
e1
e3
e5
e7
e9
= 8.4 108
= 3.1 107
= 6.3 107
= 1.1 106
= 1.7 106
e2 = 1.8 107
e4 = 4.6 107
e6 = 8.3 107
e8 = 1.4 106
e10 = 2.1 106
Obsrvese que son similares a los obtenidos en el mtodo de Taylor de segundo orden. Si variamos
el tamao de paso, obtenemos los siguientes errores para los siguientes valores
h=1
h = 0.1
0.00995 2.1 106
h = 0.01
2.25 1010
h = 0.001
1.38 1014
h = 0.0001
6.22 1015
h = 0.00001
6.26 1014
Como vemos, los errores de redondeo hacen que no se aprecie que el error del paso h/10 es
aproximadamente el del paso h elevado a la cuarta potencia. Este hecho s se aprecia en los tamao
de paso hasta 0.001.
2.4
(2.4)
que dan lugar a los valores y0 , y1 , ..., yn anteriormente mencionados. En general, dentro de los errores
matemticos podemos distinguir los siguientes tipos.
27
Mtodos de un paso
Definimos el error global de la solucin aproximada como
ei = yi y(ti ; t0 , y0 ), i = 0, 1, ..., n,
y el mtodo numrico en cuestin se dir convergente si
lim max ||ei || = 0.
h0 0in
Bsicamente, la convergencia implica que el error global tiende a cero cuando lo hace el tamao de
paso.
Otro concepto importante es el de consistencia. Un mtodo numrico dado por (2.4) se dice
consistente si
(t, y, 0) = f(t, y).
(2.5)
Por ejemplo, en el caso de los mtodos de Taylor de orden n, la funcin dada por (2.5) es
(t, y, 0) =
n
X
hj1
j=1
j!
bj = 1.
j=1
En el estudio del error global de un mtodo, tienen gran importancia dos errores locales que a
continuacin describimos. Se llama error local del paso i como
li = yi y(ti ; ti1 , yi1 ),
es decir, la diferencia entre el valor proporcionado por el mtodo yi y el valor exacto proporcionado
por la solucin exacta del problema de condiciones iniciales
0
y = f(t, y),
y(ti1 ) = yi .
El ltimo tipo de error local que vamos a introducir es lo que llamaremos el error local de
truncamiento, que definimos como
ti = y(ti1 ; t0 , y0 ) + h(ti1 , y(ti1 ; t0 , y0 ), h) y(ti ; t0 , y0 ),
es decir, aquel error que se obtendra al sustituir la solucin real del problema de condiciones iniciales
y(t; t0 , y0 ) en el mtodo numrico implementado
yi = yi1 + h(ti1 , yi1 , h).
Si el mtodo numrico es consistente, entonces el error de local de truncaminento converge a cero
cuando se divide por h. En efecto
ti
y(ti1 ; t0 , y0 ) y(ti1 + h; t0 , y0 )
= lim
h0 h
h0
h
+ lim (ti1 , y(ti1 ; t0 , y0 ), h)
lim
h0
Mtodos de un paso
por ser y(ti1 ; t0 , y0 ) solucin de la ecuacin diferencial. Bsicamente, la consistencia indica que ||ti ||
es al menos O(h2 ). Diremos que un mtodo es consistente de orden n si es consistente y el error local
de truncamiento es de orden O(hn+1 ).
Vamos a analizar este ltimo tipo de error para los mtodo numricos que conocemos.
2.4.1
yi = yi1 +
X
X
hj j)
hj j)
y (ti1 ; t0 , y0 )
y (ti1 ; t0 , y0 )
=
j!
j!
j=1
j=1
X
hj j)
y (ti1 ; t0 , y0 )
=
j!
j=n+1
hn+1 n+1)
(ti1 + h; t0 , y0 ),
y
(n + 1)!
2.4.2
Por simplicidad, vamos a considerar slamente los mtodos de dos etapas dados por
g1 = hf(ti1 , yi1 ),
g2 = hf(ti1 + c2 h, yi1 + a21 g1 ),
yi = yi1 + b1 g1 + b2 g2 ,
donde a21 = c2 =
1
2b2
y b1 = 1 b2 . Entonces
Mtodos de un paso
Ahora bien
ti = y(ti1 ; t0 , y0 ) + h(ti1 , y(ti1 ; t0 , y0 ), h) y(ti ; t0 , y0 )
X
hj j)
y (ti1 ; t0 , y0 )
= y(ti1 ; t0 , y0 ) + h(ti1 , y(ti1 ; t0 , y0 ), h)
j!
j=0
!
j1
Xh
= h (ti1 , y(ti1 ; t0 , y0 ), h)
yj) (ti1 ; t0 , y0 )
j!
j=1
=
h3 3)
y (ti1 + h; t0 , y0 ),
3!
debido a los valores de los coeficientes del mtodo de RungeKutta, siendo (0, 1). De esta
manera, vemos que
||ti || = O(h3 ).
2.4.3
Vamos a ver cmo podemos controlar el error global a partir del error local de truncamiento. Como
sabemos
ei = yi y(ti ; t0 , y0 ).
Entonces
(2.6)
Supongamos ahora que satisface una condicin de Lipschitz con constante L > 0 en la variable
y, esto es
||(ti1 , yi1 , h) (ti1 , y(ti1 ; t0 , y0 ), h)|| L||yi1 y(ti1 ; t0 , y0 )||,
Mtodos de un paso
y en general
i1
X
(1 + hL)j .
||ei || ||e0 ||(1 + hL) + M
i
j=0
Como
i1
X
(1 + hL)i 1
,
(1 + hL)j =
hL
j=0
hL
M
M
= (1 + hL)i ||e0 || +
.
hL
hL
De la nocin de exponencial real tenemos que
0 (1 + hL)i ehLi ,
y teniendo en cuenta que e0 = 0, concluimos que
||ei ||
M hLi
(e 1).
hL
Ahora bien ih = tf t0 , donde tf es el tiempo final donde deseamos conocer la solucin de la ecuacin
diferencial, por lo que
M L(tf t0 )
(e
1).
||ei ||
hL
Como por otra parte, M = Ahn+1 donde A > 0 [M O(hn+1 )], tenemos que
||ei || Bhp ,
por lo que acabamos de probar el siguiente resultado:
Theorem 2 Si ||ti || O(hn+1 ) entonces ||ei || O(hn ).
2.5
Extrapolacin de Richardson
Supongamos que y(ti ) = y(ti , h) es la solucin aproximada del problema de condiciones iniciales
0
y = f(t, y),
y(t0 ) = y0 ,
con tamao de paso h, esto es, t = ti = t0 + ih. Supongamos que el error global
ei (h) = y(ti , h) y(ti ; t0 , y0 ) = d(ti )hp + O(hp+1 ),
31
(2.7)
Mtodos de un paso
donde la funcin d(t) no depende de h. Puede comprobarse, aunque queda lejos de los objetivos de
este curso, que el error global tanto en los mtodos de Taylor como en los de RungeKutta tiene esta
estructura. Si calculamos ahora la aproximacin con paso h/2, tendremos
p
h
+ O(hp+1 ).
(2.8)
ei (h/2) = y(ti , h/2) y(ti ; t0 , y0 ) = d(ti )
2
Restando
ei (h/2) ei (h) = y(ti , h/2) y(ti , h)
1
p
= d(ti )h
1 + O(hp+1 )
2p
p
h
= d(ti )
(1 2p ) + O(hp+1 ),
2
con lo que
p
h
y(ti , h/2) y(ti , h)
= d(ti )
+ O(hp+1 ).
p
12
2
Por otra parte, si multiplicamos
2p ei (h/2) = 2p y(ti , h/2) 2p y(ti ; t0 , y0 ) = d(ti )hp + O(hp+1 ),
y calculando
2p ei (h/2) ei (h) = 2p y(ti , h/2) 2p y(ti ; t0 , y0 ) y(ti , h) + y(ti ; t0 , y0 ) = O(hp+1 ),
de donde
y(ti ; t0 , y0 )
por lo que
que nos da un error de 6.22853 109 , con lo que el error ha disminuido notablemente con una serie
de operaciones sencillas.
32
Mtodos de un paso
2.6
m
X
bj gj ,
j=1
donde
g1 = hf(ti1 , yi1 ),
g
2 = hf(ti1 + c2 h, yi1 + a21 g1 ),
g3 = hf(ti1 + c3 h, yi1 + a31 g1 + a32 g2 ),
................
siendo cj , j = 2, ..., m, bj , j = 1, ..., m y ajk , j = 1, ..., m, k = 1, ..., j 1, los coeficientes del mtodo.
Normalmente, estos coeficientes se agrupan segn la tabla
0
c2
c3
...
cm
a21
a31
...
am1
b1
a32
...
am2
b2
...
... amm1
... bm1
bm
y en forma matricial
ct
A
b
donde c = (0, c2 , ..., cm ), b = (b1 , b2 , ..., bm ) y A = (ajk ) Mmm (R) con ajk = 0 si k > j. Se
satisfacen en general las condiciones de simplificacin
cj =
j1
X
cjk , j = 2, ..., m.
k=1
2.6.1
El mtodo de 3 etapas
Veamos cmo se genera el mtodo de RungeKutta de tres etapas que tendr error local de truncamiento ti O(h4 ). Como sabemos, su tabla de Butcher ser
0
c2
c3
a21
a31
b1
a32
b2
33
b3
Mtodos de un paso
y el mtodo ser de la forma
g1 = hf(ti1 , yi1 ),
g2 = hf(ti1 + c2 h, yi1 + a21 g1 ),
g3 = hf(ti1 + c3 h, yi1 + a31 g1 + a32 g2 ),
y
yi = yi1 + b1 g1 + b2 g2 + b3 g3 .
(2.9)
Por otra parte, la aproximacin mediante la serie de Taylor de orden tres de y(t; ti1 , yi1 ) era
yi
1 2
f(ti1 , yi1 ) + f(ti1 , yi1 ) f(ti1 , yi1 )
f(t
,
y
)
+
2f(t
,
y
)
+
i1
i1
i1
i1
2
6 t
yt
t
y
Tomamos la funcin
G2 (h) = f(ti1 + c2 h, yi1 + a21 g1 ),
derivamos dos veces respecto de h
G02 (h) = c2
2
2
f(ti1 + c2 h, yi1 + a21 g1 )a21 f(ti1 , yi1 )
f(t
+
c
h,
y
+
a
g
)
+
2c
i1
2
i1
21 1
2
t2
ty
2
+ 2 f(ti1 + c2 h, yi1 + a21 g1 )a221 f(ti1 , yi1 )2 ,
y
2
1 2 2
c2 2 f(ti1 , yi1 ) + 2c2 a21 f(ti1 , yi1 )
f(ti1 , yi1 )
+
2
t
ty
2
2
2
+ a21 f(ti1 , yi1 )
f(ti1 , yi1 ) h2 + O(h3 )
y2
y por otra parte
G3 (h) = f(ti1 + c3 h, yi1 + a31 g1 + a32 hG2 (h)),
34
Mtodos de un paso
que derivando dos veces nos da
+ f(ti1 + c3 h, yi1 + a31 g1 + a32 hG2 (h)) (a31 f(ti1 , yi1 ) + a32 (G2 (h) + hG02 (h))) ,
y
G03 (h) = c3
2
f(ti1 + c3 h, yi1 + a31 g1 + a32 hG2 (h)) +
t2
2
f(ti1 + c3 h, yi1 + a31 g1 + a32 hG2 (h)) (a31 f(ti1 , yi1 ) + a32 (G2 (h) + hG02 (h)))
+2c3
ty
2
2
+ 2 f(ti1 + c3 h, yi1 + a31 g1 + a32 hG2 (h)) (a31 f(ti1 , yi1 ) + a32 (G2 (h) + hG02 (h)))
y
+ f(ti1 + c3 h, yi1 + a31 g1 + a32 hG2 (h)) (a32 (2G02 (h) + hG002 (h))) ,
y
de donde
G03 (0) = c3
2
2
f(ti1 , yi1 )f(ti1 , yi1 )
f(t
,
y
)
+
2c
(a
+
a
)
i1
i1
3
31
32
t2
ty
2
+ (a31 + a32 )2 2 f(ti1 , yi1 )f(ti1 , yi1 )2
y
+2a32 f(ti1 , yi1 ) c2 f(ti1 , yi1 ) + a21 f(ti1 , yi1 ) f(ti1 , yi1 ) ,
y
t
y
2
1 2 2
c3 2 f(ti1 , yi1 ) + 2c3 (a31 + a32 )
f(ti1 , yi1 )f(ti1 , yi1 )
+
2
t
ty
2
+ (a31 + a32 )2 2 f(ti1 , yi1 )f(ti1 , yi1 )2
y
+ 2a32 f(ti1 , yi1 ) c2 f(ti1 , yi1 ) + a21 f(ti1 , yi1 ) f(ti1 , yi1 )
h2
y
t
y
2
+O(h )
Introduciendo los desarrollos de Taylor de G2 y G3 en la ingualdad (2.9), y comparando con el
35
Mtodos de un paso
desarrollo de Taylor de orden 2 (2.10), obtenemos las ecuaciones
b1 + b2 + b3 = 1,
b2 c2 + b3 c3 = 12 ,
b c2 + b c2 = 1 ,
2 2
3 3
3
b
c
a
+
b
c
(a31 + a32 ) = 13 ,
2
2
21
3
3
b a c = 1,
3 32 2 6 1
b3 a32 a21 = 6 .
De las dos ltimas obtenemos que c2 = a21 con lo que usando la segunda y tercera, llegamos a
c3 = a31 + a32 . Entonces la quinta y sexta ecuaciones se simplifican a
b2 c22 + b3 c23 =
1
3
que es la cuarta, y la ltima ecuacin es la antepenltima, con lo que el sistema reducido de ecuaciones
nos queda
b1 + b2 + b3 = 1,
c2 = a21 ,
c3 = a31 + a32 ,
b2 c2 + b3 c3 = 12 ,
b c2 + b3 c23 = 13 ,
2 2
b3 a32 c2 = 16 ,
que nos dan los mtodos de RungeKutta de orden 3, que es una familia biparamtrica de mtodos
numricos. Si tomamos c2 y c3 como parmetros, tenemos de las ecuaciones
b2 c2 + b3 c3 = 12 ,
b2 c22 + b3 c23 = 13 ,
que
y de la ltima
12
b2 = 3
c22
c2
c2
2
c2
b3 =
c22
c2
a32 =
c3 c23 13
=
c2 c3 (c3 c2 )
1
2
1
c2 13 c22
3
=
,
c2 c3 (c3 c2 )
c3
c23
c3
c23
c3
c23
1
c2 c3 (c3 c2 )
.
=
6b3 c2
6 13 c22
a31 = c3 a32 = c3
36
c2 c3 (c3 c2 )
,
6 13 c22
Mtodos de un paso
y de b1 + b2 + b3 = 1 concluimos
b1
c2 13 c22
c3 c23 13
= 1 b2 b3 = 1
c2 c3 (c3 c2 ) c2 c3 (c3 c2 )
1
c2 c3 + 3 (c3 c2 ) 12 (c23 c22 )
=
c2 c3 (c3 c2 )
1
2
3
4
1
3
0
2
9
4
9
y
0
1
2
1
2
1
1
6
2
2
3
1
6
Estas soluciones son vlidas siempre que c2 y c3 sean no nulos y distintos. Existen mtodos que se
obtienen cundo alguna de estas cantidades son nulas, y que se obtienen de igual manera.
Como vemos, dado que el error local de los mtodos de RungeKutta de tres etapas es de orden
4 [O(h4 )], tenemos que el error global de los mtodos de tres etapas es de orden 3.
2.6.2
Procediendo como en los casos de dos y tres etapas, aumentando en un orden los desarrollos de Taylor
de las funciones implicadas, tenemos que si la tabla de Butcher de un mtodo de cuatro etapas es
0
c2
c3
c4
a21
a31
a41
b1
a32
a42
b2
a43
b3
b4
cj =
j1
X
ajk , j = 2, 3, 4,
k=1
37
Mtodos de un paso
y las condiciones
b1 + b2 + b3 + b4 = 1,
b2 c2 + b3 c3 + b4 c4 = 12 ,
1
b4 a43 a32 c2 = 24
,
la primera de las cuales, como sabemos, viene de la condicin de consistencia de los mtodos de
RungeKutta en general. Butcher en 1963 dio la simplificacin
4
X
i=1
bi aij = bj (1 cj ), j = 2, 3, 4,
(2.12)
1 2c3
,
12c2 (1 c2 )(c2 c3 )
b3 =
1 2c2
,
12c3 (1 c3 )(c3 c2 )
b4 =
6c2 c3 4(c3 + c2 ) + 3
.
12c2 (1 c2 )(1 c3 )
(1 c2 )(2c2 1)(1 c3 )
.
c3 (c2 c3 )(6c2 c3 4(c2 + c3 ) + 3)
c3 (c2 c3 )
,
2c2 (2c2 1)
y
a42 =
Como vemos, estas soluciones dependientes de dos parmetros son vlidas siempre que c2
/ {0, 1/2, 1},
/ {0, 1} y c2 6= c3 . Cuando alguna de estas condiciones no se satisfacen, existen no obstante mtoc3
dos de RungeKutta con estos coeficientes.
38
Mtodos de un paso
Estos mtodos son de orden 4 (orden 5 tiene el error local de truncamiento) y representan una
familia de cinco parmetros de mtodos cuyos ejemplos son
0
1
3
2
3
1
3
13
1
1
8
1
1
3
8
3
8
1
8
1
2
1
2
0
0
1
6
1
3
1
3
1
6
que es el mtodo debido a Kutta de 1905 y que usualmente se conoce como el mtodo de Runge
Kutta.
2.6.3
Mtodos de ms etapas
siendo
B = log C + p log(tf t0 ).
Si asumimos cierta la identidad
log e = B p log n
39
Mtodos de un paso
y escirbimos otra anloga para un mtodo de orden q
log e = B 0 q log n,
tenemos dos rectas que se cortarn en un punto, que marcarn la eficiencia de cada mtodo y
determinarn cundo debe usarse cada uno.
2.7
Ejercicios
2. Resuelve los siguientes problemas mediante el mtodo de Euler con amplitudes de paso h y
h/2. Calcula las estimaciones de error de ambas aproximaciones en el tiempo tN = b y aplica
extrapolacin de Richardson.
(a) {y 0 = 1 y, y(0) = 0}, b = 1, h = 0.5, h/2 = 0.25.
3. Aplica el mtodo de Euler para resolver el problema y 0 = 1 2ty, y(0) = 0, dando tres pasos
de amplitud h = 0.1 para aproximar y(0.3).
40
Mtodos de un paso
4. * Aplica el mtodo de Euler para resolver el problema y 00 + 2y 0 + 4y = 0, y(0) = 2, y 0 (0) = 0,
dando dos pasos de amplitud h = 0.2 para aproximar y(0.4).
5. Se considera la ecuacin integral de Volterra
Z t
t
cos(s + y(s)) ds
y(t) = e +
0
Transforma la ecuacin integral en una EDO, obtn la condicin inicial y(0) y aplica el mtodo
de Euler con h = 0.5 para aproximar y(1).
6. Se considera el mtodo yn = yn1 + h f (tn , yn1 ).
(a) Encuentra la funcin (t, y, h) que se ajusta a yn = yn1 + h (tn1 , yn1 , h).
(c) Aplica extrapolacin de Richardson local para construir un nuevo mtodo convergente de
segundo orden.
7. Demuestra que el esquema de un paso yn = yn1 + h(tn1 , yn1 , h) definido a partir de
h
h
h (1)
t + , y + f (t, y)
(t, y, h) = f (t, y) + f
2
3
3
es convergente de tercer orden.
8. Encuentra coeficientes a2 1 , a3 1 , a3 2 para una frmula explcita similar a la regla de Simpson
0
1/2 a2 1
1 a3 1 a3 2
1/6 4/6 1/6
de tercer orden. ?Es esta regla de orden cuatro?
9. Encuentra qu relacin han de cumplir los coeficientes b1 , b2 y b3 para que el mtodo de tablero
0
1/2 1/2
1 1/2 1/2
b1
b2 b3
tenga orden dos. ?Existe algn caso con orden tres?
10. Resuelve el sistema de dos ecuaciones
y10 = t y1 y2
Mtodos de un paso
11. Se considera el esquema
yn
3
h
= yn1 + h f tn1 + , yn1 + h f (tn1 , yn1 ) +
4
3
1
+ h f (tn1 + h, yn1 + hf (tn1 , yn1 ))
4
3
h
= yn1 + h f tn1 + , yn1 + h f (tn1 , yn1 ) +
4
3
1
+ h f (tn1 + h, yn1 + hf (tn1 , yn1 ))
4
Mtodos de un paso
17. * Dada la ecuacin lineal
y 0 = P1 (t) y + Q1 (t)
prueba que las derivadas necesarias para el mtodo de Taylor de orden p vienen dadas por el
algoritmo
y (k) = Pk (t) y + Qk (t)
donde
0
(t) + P1 (t) Pk1 (t)
Pk (t) = Pk1
Mtodos de un paso
(a) Estudia el orden del mtodo.
(b) Hemos integrado con este mtodo el problema y 0 = et , y(0) = 1 en el intervalo [0, 1] y
hemos obtenido la siguiente tabla de errores.
h
error
1/4 1.23047 104
1/40 1.24191 107
1/400 1.24266 1010
?Se ajusta el error numrico al terico? Razona tu respuesta calculando el error local
asociado al problema.
22. * Transforma el problema y 00 (t) = t + y 2 (t), y(3) = 1, y 0 (3) = 2, en un sistema de primer
orden y aproxima la solucin en el tiempo t = 3.02 tomando h = 0.01 para la regla de los
trapecios explcita cuyo tablero es
0
1 1
1/2 1/2
23. * Se quiere aproximar la solucin en t = 0.2 de la ecuacin y 0 (t) = t + ey(t) con la condicin
inicial y(0) = 0. Da dos pasos con h = 0.1 con el mtodo de Taylor de orden 3 para aproximar
y(0.1) e y(0.2).
24. * Estudia si hay un Runge-Kutta explcito de tres etapas y orden tres con b1 = b2 = b3 .
25. * Transforma el problema y 00 (t) = y(t) + t y 0 (t), y(1) = 2, y 0 (1) = 3, en un sistema de
primer orden y aproxima la solucin en el tiempo t = 1.04 tomando h = 0.02 para el mtodo
Runge-Kutta de tablero
0
2/3 2/3
1/4 3/4
26. * Dada la ecuacin y 0 (t) = t y 2 (t), y(1) = 2 aproxima y(1.1) de tres formas: dando un paso
con h = 0.1 para el mtodo de Taylor de orden dos, dos pasos con h = 0.05 para el mismo
mtodo y aplicando la extrapolacin de Richardson a partir de los datos anteriores.
27. * Estudia si hay algn Runge-Kutta explcito de tres etapas y orden tres con c2 = c3 . En caso
afirmativo escribe el tablero de Butcher de todos ellos.
28. * Se quiere aproximar la solucin en el tiempo t = 1.02 del sistema
x0 (t) = x(t)2 z(t),
z 0 (t) = et + x(t),
x(1) = 1
z(1) = 2
Mtodos de un paso
29. * Se quiere resolver el problema de primer orden y 0 (t) = t + y(t)2 , y(2) = 1. Aproxima
y(2.01) e y(2.02) con el mtodo de Taylor de tercer orden y h = 0.01.
30. * Encuentra el Runge-Kutta explcito de tres etapas y orden tres con b1 = c3 = 0.
31. * Se quiere aproximar en el tiempo t = 0.98 la solucin del sistema
x0 (t) = t z(t),
x(1) = 1
z(1) = 2
y(0) = 1,
aproxima y(0.1) de tres formas distintas: dando un paso con h = 0.1 para el mtodo de Taylor
de orden dos, dos pasos con h = 0.05 para el mismo mtodo y aplicando la extrapolacin de
Richardson a partir de los datos anteriores.
33. * Estudia si existe algn Runge-Kutta de dos etapas y orden dos con b1 = 0. Estudia si existe
algn Runge-Kutta de tres etapas y orden tres con b1 = b2 = 0.
45
Mtodos de un paso
46
Captulo 3
Mtodos multipaso
Sumario. Mtodos multipaso generales. Convergencia y estabilidad de los mtodos
multipaso. Mtodos de AdamsBashforth. Mtodos de AdamsMoulton. Mtodos
predictorcorrector.
3.1
Introduccin
3.2
Sea y(t; t0 , y0 ) la solucin del problema de condiciones iniciales anterior, y sean tf = t1 > t0 , y
h = t1 t0 . Sea y1 la aproximacin de y(t1 ; t0 , y0 ) dada por la expresin
y1 =
p
X
j=0
aj yj + h
p
X
j=1
bj f(t0 jh, yj ),
(3.1)
donde aj , bj y p son parmetros elegidos de acuerdo con unas condiciones de convergencia y estabilidad
detrminadas, e
yj y(t0 jh; t0 , y0 ), j = 0, 1, ..., p.
Si p 1, entonces para j = 1, ..., p los valores yj han de ser previamente estimados con un
mtodo de orden uno, probablemente algn mtodo de RungeKutta. Si b1 = 0, el mtodo se dir
47
Mtodos multipaso
explcito ya que y1 se obtiene directamente como
p
p
X
X
y1 =
aj yj + h
bj f(t0 jh, yj ).
j=0
j=0
Sin embargo, si b1 6= 0 entonces el mtodo se dice implcito porque hay que calcular y1 resolviendo
la ecuacin (3.1), presumiblemente haciendo uso de algn mtodo numrico para ello.
En general, si tenemos n pasos, h = (tf t0 )/n y ti = t0 + ih, para cada i {1, ..., n} construimos
yi+1 =
p
X
aj yij + h
j=0
p
X
j=1
(3.2)
junto con las condiciones yj , j = 0, 1, ..., p. Como vemos se trata de una ecuacin en diferencias
de orden p que da lugar a la aproximacin de la solucin. Veamos a continuacin cmo obtener los
parmetros del mtodo.
Para ello, consideramos el error local de truncamiento
p
p
X
X
ti+1 =
aj y(ti jh; t0 , y0 ) + h
bj f(ti jh, y(ti ih; t0 , y0 )) y(ti + h; t0 , y0 )
j=0
p
X
j=0
j=1
p
aj y(ti jh; t0 , y0 ) + h
j=1
j=1
aj
j=0
X
k=0
1 k)
y (ti ; t0 , y0 )(1)k (ih)k
k!
X
1 k+1)
+h
bj
(ti ; t0 , y0 )(1)k (ih)k
y
k!
j=1
k=0
X
1 k)
y (ti ; t0 , y0 )hk ,
k!
k=0
j=1
j=1
jbj +
1X 2
1
j aj
2 j=0
2
j=0
!
p
p
X
X
1
1
1
j 2 bj
j 3 aj
+h3 y3) (ti ; t0 , y0 )
2 j=1
6 j=0
6
!
p
p
(1)k1 X k1
(1)k X k
1
k k)
+ ...
j bj +
j aj
+... + h y (ti ; t0 , y0 )
(k 1)! j=1
k! j=0
k!
48
Mtodos multipaso
y si fijamos a1 = 0, podemos escribir de forma ms compacta
p
!
!
p
X
X
X
1 k k)
ti+1 = y(ti ; t0 , y0 )
h y (ti ; t0 , y0 ) (1)k
aj 1 +
j k1 (jaj kbj ) 1 ,
k!
j=0
j=1
k=1
con lo que el error local de truncamiento ser de orden O(hq+1 ) si se satisfacen las ecuaciones
p
X
aj = 1,
j=0
(1)
p
X
j=1
3.3
Primeros ejemplos
Vamos a construir un mtodo multipaso de 2 pasos y de orden 3. Supongamos en primer lugar que
el mtodo es explcito, esto es b1 = 0. Ser entonces un mtodo de la forma
yi+1 = a0 yi + a1 yi1 + hb0 f(ti , yi ) + hb1 f(ti h, yi1 ),
satisfaciendo el sistema de ecuaciones
a0 + a1 = 1,
a1 + b0 + b1 = 1,
a1 2b1 = 1,
a1 + 3b1 = 1,
de donde b1 = 2, a1 = 5, b0 = 4 y a0 = 4, de donde
a0 + a1 = 1,
a1 + b1 + b0 + b1 = 1,
a + 2b1 2b1 = 1,
1
a1 + 3b1 + 3b1 = 1,
a0 = 1 ,
a1 = ,
5
,
b1 = 12
R,
b
=
3,
0 3 1
b1 = 12 + 5,
49
Mtodos multipaso
por lo que si = 0, tenemos el mtodo
yi+1 = yi + h
5
2
1
f(ti + h, yi+1 ) + h f(ti , yi ) h f(ti h, yi1 ).
12
3
12
1 2 1
1 3 1 = 4,
1 4 1
a1 2b1 = 1,
a1 + 3b1 = 1,
a1 4b1 = 1,
no tiene solucin. Sin embargo, si planteamos el mismo sistema para el mtodo implcito, hemos de
aadir la ecuacin
a1 + 4b1 4b1 = 1,
y ahora el determinate
1 1 0 0 0
0 1 1 1 1
0 1 2 0 2
0 1 3 0 3
0 1 4 0 4
= 12,
por lo que el sistema lineal anterior es compatible determinado y tiene un solucin nica que ser
el nico mtodo de orden 4 y paso 2. Si intentramos conseguir orden 5, tendramos que aadir la
ecuacin
a1 + 5b1 + 5b1 = 1,
y tomando las ltimas 4 ecuaciones, el
1 2 2 1
1 3 3 1
= 8,
1 4 4 1
1 5 5 1
por lo que el sistema ser incompatible y no habr solucin del mismo. As pues, los mtodos de dos
pasos pueden tener a lo sumo orden 3 si es explcito y orden 4 si es implcito.
Ahora bien, si consideramos el problema
0
y = y,
y(0) = 1,
50
Mtodos multipaso
y queremos aproximar y(1; 0, 1), esto es tf = 1, y aplicamos el mtodo
3.4
y0 = f(t, y),
y(t0 ) = y0 ,
y buscamos aproximar y(tf ; t0 , y0 ). Para ello fijamos h = (tf t0 )/n y ti = t0 + hi, i = 0, 1, ..., n.
Integrando respecto de la variable independiente
Z ti+1
Z ti+1
0
y(ti+1 ; t0 , y0 ) y(ti ; t0 , y0 ) =
y (t; t0 , y0 )dt =
f(t, y(t; t0 , y0 ))dt.
ti
ti
Si queremos cosntruir un mtodo de p pasos, sustituimos f(t, y(t; t0 , y0 )) por un polinomio de interpolacin de grado p, que denotaremos Q(t), y que cumplir la condicin
Q(ti jh) = f(ti jh, y(ti jh; t0 , y0 )), j = i p, ..., i.
Este polinomio de interpolacin verifica que
f(t, y(t; t0 , y0 )) = Q(t) + E(t),
donde E(t) es el error cometido al aproximar la funcin por el polinomio interpolador, y que ser
clave a la hora de determinar el error local cometido en la aproximacin. El mtodo numrico que
hemos de construir tendr la forma
Z ti+1
q(t)dt,
yi+1 = yi +
ti
donde
q(ti jh) = f(ti jh, yij ), j = i p, ..., i,
es decir, el polinomio interpolador sobre los datos anteriores que sern conocidos. El error local de
truncamiento ser en este caso
Z ti+1
Z ti+1
Q(t)dt y(ti+1 ; t0 , y0 ) =
E(t)dt,
ti+1 = y(ti ; t0 , y0 ) +
ti
ti
Mtodos multipaso
3.4.1
Mtodos de AdamsBashforth
Para cosntruir estos mtodos utilizamos la forma de Newton del polinomio interpolador dada por la
diferencias finitas. Dada la sucesin xi , se definen
1 xi = xi = xi xi1 ,
y para k > 1,
k xi = k1 xi k1 xi1 .
Por ejemplo
2 xi = xi xi1 = (xi xi1 ) (xi1 xi2 ) = xi 2xi1 + xi2 ,
y
3 xi = 2 xi 2 xi1
= (xi 2xi1 + xi2 ) (xi1 2xi2 + xi3 )
= xi 3xi1 + 3xi2 xi3 .
Por convenio, estableceremos que 0 xi = xi .
Si t = ti + sh, el polinomio de interpolacin tiene la forma
s+1
2
p
X
s+j1
j f(ti , yi ),
=
j
f(ti , yi ) + ... +
s+p1
p
j=0
donde
m
k
para m R y k N, y
m(m 1)...(m k + 1)
k!
m
0
= 1.
txi
,
h
s+p
p+1
reescribimos
yi+1 = yi +
ti+1
q(t)dt = yi + h
ti
52
q(xi + sh)ds.
p f(ti , yi )
Mtodos multipaso
El mtodo de AdamsBashforth se construye a partir del desarrollo
Z 1
yi+1 = yi + h
q(xi + sh)ds
0Z
!
p
1X
s+j1
j f(ti , yi )ds
= yi + h
j
0 j=0
p
!
Z 1
X
s
+
j
1
ds
= yi + h
j f(ti , yi )
j
0
j=0
p
= yi + h
X
j=0
j j f(ti , yi ),
Z 1
s+j1
ds, j = 1, 2, ..., p,
j =
j
0
se calculan de forma directa. De hecho, los primeros coeficientes son
1
1
2
2
5
12
3
3
8
4
251
720
95
288
6
19087
60480
1
5 2
yi+1 = yi + h f(ti , yi ) + f(ti , yi ) + f(ti , yi )
2
12
1
= yi + h f(ti , yi ) + [f(ti , yi ) + f(ti1 , yi1 )]
2
5
+ [f(ti , yi ) 2f(ti1 , yi1 ) + f(ti2 , yi2 )]
12
1
= yi + h (23f(ti , yi ) 16f(ti1 , yi1 ) + 5f(ti2 , yi2 )) .
12
Como vemos, al mtodo de AdamsBashforth le podemos aplicar el teorema de convergencia global, por lo que ser convergente, al contrario de lo que ocurra con el primer ejemplo que estudiamos.
3.4.2
Mtodos de AdamsMoulton
Los mtodos de AdamsMoulton se obtienen de igual manera que los explcitos de AdamsBasfhforth,
pero ahora tomando el polinomio interpolador en t = ti+1 + sh, con lo que
s+1
s+p1
2
f(ti , yi ) + ... +
p f(ti+1 , yi+1 )
q (t) = f(ti+1 , yi+1 ) + sf(ti+1 , yi+1 ) +
2
p
53
Mtodos multipaso
p
X
s+j1
j f(ti+1 , yi+1 ),
=
j
j=0
txi+1
,
h
yi+1
reescribimos
Z ti+1
Z
= yi +
q (t)dt = yi + h
q (xi + sh)ds.
ti
Desarrollando, obtenemos
yi+1 = yi + h
q(xi + sh)ds
p
X
s+j1
j f(ti+1 , yi+1 )ds
= yi + h
j
1 j=0
p
!
Z 0
X
s
+
j
1
ds
j f(ti+1 , yi+1 )
= yi + h
j
1
0
j=0
p
= yi + h
X
j=0
j j f(ti+1 , yi+1 ),
donde
0 = 1,
Z 0
s+j1
ds, j = 1, 2, ..., p,
j =
j
1
y el error local de truncamiento es
ti+1 = hp+2 p+1 yp+2 (ti ; t0 , y0 ) + O(hp+3 ).
Los primeros coeficientes son en este caso
1
12
2
1
12
3
1
24
4
19
720
5
3
160
863
60480
1
1 2
yi+1 = yi + h f(ti+1 , yi+1 ) f(ti+1 , yi+1 ) f(ti+1 , yi+1 )
2
12
h
(5f(ti+1 , yi+1 ) + 8f(ti , yi ) f(ti1 , yi1 )) .
= yi +
12
A la hora de aproximar yi+1 , dmonos cuenta de que si definimos
G(yi+1 ) = yi + h
p
X
j=0
p
= yi + h
X
j=0
54
j j f(ti+1 , yi+1 ),
j f(ti+1j , yi+1j ),
Mtodos multipaso
por lo que
||G(y) G(z)|| = h| 0 |||f(ti+1 , y) f(ti+1 , z)||
h| 0 |L||y z||,
dado que f es Lispchitziana en la variable y. As, para que se pueda aplicar el Teorema del punto
fijo a G hemos de elegir tamaos de paso h suficientemente pequeos para que
h| 0 |L < 1.
3.5
t1 t0
.
n
p
X
aj yij + h
j=0
p
X
j=0
(3.3)
donde los coeficientes se han escogido de manera que el error local de truncamiento es O(hk ), k p+1.
Como sabemos, la convergencia local no implica necesariamente la convergencia global. Vamos a ver
qu propiedad adicional hemos de aadir a la convergencia local para que el mtodo sea globalmente
convergente.
Para ello, aplicamos el mtodo al problema
0
y = 0,
y(0) = y0 ,
con lo que el mtodo multipaso queda como
yi+1 =
p
X
aj yij ,
j=0
o equivalentemente
yi+1 a0 yi a1 yi1 ... ap yip = 0,
que es una ecuacin en diferencias lineal cuyo polinomio caracterstico es
p() = p+1 a0 p ... ap .
Por la condicin de convergencia local, sabemos que
p(1) = 1
p
X
j=0
55
aj = 0,
Mtodos multipaso
por lo que 1 es solucin particular de la ecuacin en diferencias. Dicha ecuacin, ser entonces estable
si las restantes raices de p() tienen mdulo menor o igual que uno, y si ste es uno, se trata de una
raz simple. En este caso, el mtodo (3.3) puede escribirse como
1
zi+1 = z2i ,
2
3
zi+1 = zi ,
......
zp = zp+1
,
P
P
i+1
p
p+1
+ h pj=1 bj f(ti jh, zpj+1
),
zi+1 = j=0 aj zpj+1
i
i
donde zpj+1
= yij , j
i
1
zi+1
0
z2i+1 0
... = ...
p
zi+1 0
a0
zp+1
i+1
Si la matriz
= 0, 1, ..., p. Matricialmente
1 0 ... 0
0
0 1 ... 0
0
0 0 ... 0
1
a1 a2 ... ap1 ap
A =
0
0
...
0
a0
1
0
...
0
a1
0
1
...
0
a2
lo escribimos como
0
z1i
0
z2i
...
... + h
p
0
zi
Pp
pj+1
p+1
)
zi
j=1 bj f(ti jh, zi+1
...
...
...
...
...
0
0
...
0
ap1
0
0
...
1
ap
a0 + a1 = 1,
a1 + b0 + b1 = 1,
a1 2b1 = 1,
56
Mtodos multipaso
que nos da el conjunto uniparamtrico de soluciones
a0 = 2,
a1 = 1 + 2,
R,
b0 = 2 + ,
b1 = ,
que da lugar a la familia de mtodos
p() = 2 + 2 (1 + 2),
1 1 + 2 1,
o equivalentemente
1 0,
3.6
Frmulas BDF
Las frmulas BDF se basan en la utilizacin del polinomio interpolador en los puntos yi+1j , j =
t t
0, 1, ..., p, h = f n 0 , de la solucin aproximada dada por
p
X
s+j1
j yi+1 ,
q(s) =
j
j=0
cuyo error es
E(t) =
s+p
p+1
y suponemos que se verifica la ecuacin diferencial para dicho polinomio en ti+1 , esto es,
q0 (0) = f(ti+1 , q(ti+1 )).
Por una parte, q(ti+1 ) = yi+1 , y por otra, dado que t = ti+1 + sh
!
p
X
d
s+j1
q0 (s) =
j yi+1
j
ds j=0
p
X
s+j1
1 d
j yi+1 .
h
=
j
dt
j=0
57
Mtodos multipaso
Como
se tiene que
s+j1
j
gj0 (0)
de donde
p
X
1
j=1
(j1)!
j!
1
j
si j > 0,
si j = 0,
2
X
1
j=1
1
j yi+1 = yi+1 + 2 yi+1
j
2
1
(yi+1 2yi + yi1 )
2
3
1
=
yi+1 2yi + yi1 ,
2
2
= yi+1 yi +
3.7
Metodos predictorcorrector
Los mtodos de predictor corrector se basan en utilizar alternativamente mtodos multipaso explcitos
e implcitos de un mismo orden para aproximar la solucin. El mtodo explcito se usa para obtener
la condicin inicial con la que obtener el mediante un mtodo iterativo, una mejor aproximacin con
el mtodo implcito.
Por ejemplo, consideramos como predictor el mtodo explcito
yi+1 = 4yi + 5yi1 + 4hyi + 2hyi1 ,
y como corrector, consideramos de entre la familia
yi+1 = a0 yi + a1 yi1 + hb1 f(ti + h, yi+1 ) + hb0 f(ti , yi ) + hb1 f(ti h, yi1 ),
dados por el sistema
a0 = 1 ,
a1 = ,
5
,
b1 = 12
R.
b
=
3,
0 3 1
b1 = 12 + 5,
58
(3.4)
Mtodos multipaso
Para obtener un mtodo convergente, calculamos las raices de
p(t) = t2 + ( 1)t ,
que son
p
(1 )2 + 4
t =
p2
1 (1 + )2
1 (1 + )
=
,
=
2
2
1
que nos da 1 y como soluciones, por lo que el mtodo con = 0, dado por
yi+1 = yi + h
5
2
1
f(ti + h, yi+1 ) + h f(ti , yi ) h f(ti h, yi1 ),
12
3
12
(3.5)
ser convergente.
Un esquema para aplicar estos mtodos sera el siguiente:
Como el mtodo es de orden 2, utilizamos un mtodo de RungeKutta de orden 3 para estimar
y1 .
Predecimos el valor de y2 por y2 con el mtodo (3.4). Como el error local es de orden 4, esta
aproximacin ser de este orden.
Mejoramos la aproximacin anterior calculando y2 con el mtodo (3.5), tomando como punto
inicial para hacer las iteraciones el punto y2 .
Cuando el valor obtenido de y2 sea aceptable, volvemos a aplicar los dos puntos anteriores para
obtener y3 , y as sucesivamente.
Hemos de destacar que el mtodo (3.5) s es estable y por tanto convergente.
3.8
Multipaso o RungeKutta
La eleccin del mtodo numrico utilizado para obtener la solucin aproximada depende en gran
medida del coste de computacin de la funcin f. Si este coste es bajo, en general utilizaramos
un mtodo de RungeKutta, pero cuando este es alto utilizamos uno de multipaso, ya que el coste
computacional de clculo de f es menor en este caso. Adems, las distintas evaluaciones de f en
etapas anteriores se pueden utilizar en varios pasos, por lo que no cada vez que se aplica el mtodo
multipaso hay que evaluar la funcin f en todos los pasos.
3.9
Ejercicios
Mtodos multipaso
1. Deducir el desarrollo de la serie de potencias centrado en 0 dado por
X
a
a
n
xn .
(1 x) =
(1)
m
n=0
Utilizarlo para obtener los coeficientes de los mtodos de Adams explcito e implcito para
distintos pasos. Para ello darse cuenta que
Z
Z
X
a
a
n
xn da,
(1 x) da =
(1)
m
n=0
y elegir a, y apropiados.
2. Deduce las frmula de Adams implcitas de rdenes uno, dos, tres y cuatro.
3. Reescribe la ecuacin de segundo orden y 00 = t y y 0 , y(2) = 1.23, y 0 (2) = 4.56 como un
sistema de dos ecuaciones de primer orden. Considera h = 0.05 y utiliza el mtodo de Adams
explcito de dos pasos para aproximar la solucin en t = 1.8, inicializando con un mtodo de
RungeKutta de orden dos.
4. * Se considera la ecuacin de segundo orden y 00 = 2y 0 + 4y + t. Reescribe la ecuacin como un
sistema de primer orden y aplica el mtodo de Adams explcito de segundo orden con h = 0.1
y 0 t 0.3, tomando las condiciones iniciales y(0) = y 0 (0) = 0, y los datos en t = 0.1 que se
obtienen con el mtodo de Taylor de orden tres.
5. * Sea el esquema yn (1 + a)yn1 + a yn2 =
h
((5 + a)fn + 8(1 a)fn1 (1 + 5a)fn2 .
12
4h
(2fn1 fn2 + 2fn3 ).
3
Mtodos multipaso
(b) Para = 1/2 resuelve el problema y 0 = 10y, y(0) = 1 calculando yn en trminos de n y
h.
(c) Estima el error local tras dar un paso con dicho algoritmo.
11. * Construye los mtodos multipaso yn + 1 yn1 + 2 yn2 = h( 1 fn1 + 2 fn2 ) consistentes de
orden al menos dos y discute su estabilidad. Elige alguno convergente con 1 = 0 y resuelve el
problema y 0 = y 2 + 2t t4 , y(0) = 0 con h = 0.1 y 0 t 0.3, inicializando con el mtodo de
Taylor de segundo orden.
12. * Estudia la convergencia de los mtodos
h
(7 fn1 2 fn2 + fn3 )
3
h
= (9 fn1 + 19 fn2 + 5 fn3 + fn4 )
24
(a) yn yn2 =
(b) yn yn2
1
h ((3 a)fn1 (1 + a)fn2 )
2
8
4
8
yn = yn4 + h
fn1 fn2 + fn3 .
3
3
3
Mtodos multipaso
17. * Encuentra a y b para que el mtodo multipaso yn = yn2 + h(a fn1 + b fn2 ) sea consistente
del orden lo ms alto posible. ?Es estable ese mtodo? ?Es explcito? ?Crees que ser mejor
o peor que el mtodo de Adams explcito de dos pasos?
18. * Se quiere resolver el problema de primer orden
y 0 (t) = t + y(t)2 ,
y(2) = 1.
y(0) = 1
del que se conocen los datos extra y(0.01) = 1.00005 e y(0.02) = 1.00020. Aproxima y(0.03) e
y(0.04) tomando h = 0.01 para el mtodo de Adams explcito de tercer orden.
21. * Encuentra a, b y c para que el mtodo yn + a yn1 + b yn2 = h c fn sea consistente del
orden lo ms alto posible. ?Cul es su orden de consistencia? ?Es estable? ?Y explcito?
62
Captulo 4
Mtodos en diferencias finitas
Sumario. Mtodos de diferencias finitas para problemas de contorno. Mtodos
para ecuaciones en derivadas parciales.
4.1
Introduccin
Vamos a ver en este tema cmo utilizar las diferencias finitas para obtener aproximaciones de problemas de los que no nos hemos ocupado hasta el momento, como son las ecuaciones diferenciales
ordinarias con problemas de contorno y las ecuaciones en derivadas parciales. Estos mtodos se
basan en aproximaciones discretas de las derivadas de las funciones involucradas y que se pretenden
aproximar.
4.2
Los problemas de contorno que vamos a tratar proceden de ecuaciones diferenciales de orden dos de
la forma
y 00 = f (t, y, y 0 )
donde f : R3 R es una funcin continua a la posteriormente le pediremos ciertas condiciones
de regularidad. Problemas de contorno asociados a dicha ecuacin son por ejemplo
00
y = f (t, y, y 0 ),
y(a) = , y(b) = ,
y 00 = f (t, y, y 0 ),
y 0 (a) = , y 0 (b) = ,
y 00 = f (t, y, y 0 ),
y(a) = , y 0 (b) = ,
donde a, b, , son nmeros reales. Estos problemas son considerablemente ms difciles de analizar
y estudiar que los conocidos problemas de condiciones iniciales. Nosotros vamos a centrarnos en el
63
y 00 = y,
y(0) = 3, y(2) = 7,
y(ti+1 ) y(ti )
,
h
(4.1)
y 0 (ti ) '
y(ti1 ) y(ti )
,
h
(4.2)
64
y(ti+1 ) y(ti1 )
.
2h
y 00 (ti ) '
Veamos que efectivamente se trata de aproximaciones de orden dos. Para ello supongamos que
y(t) es suficientemente derivable y obtenemos
1
y(ti+1 ) = y(ti + h) = y(ti ) + y 0 (ti )h + y 00 (ti )h2 + O(h3 ),
2
e
1
y(ti1 ) = y(ti h) = y(ti ) y 0 (ti )h + y 00 (ti )h2 + O(h3 ).
2
Sustituyendo en la expresin para la primera derivada, vemos que
y 0 (ti )
y(ti+1 ) y(ti1 )
2h
se reescribe como
y(ti ) + y 0 (ti )h + 12 y 00 (ti )h2 (y(ti ) y 0 (ti )h + 12 y 00 (ti )h2 ) + O(h3 )
= O(h2 ).
y (ti )
2h
0
p(t
)
q(ti )y(ti ) f (ti ) = 0,
i
h2
2h
y una vez multiplicado por h2 , se reescribe como
y(ti+1 ) 2y(ti ) + y(ti1 ) h
p(ti )
[y(ti+1 ) y(ti1 )] h2 [q(ti )y(ti ) f (ti )]0,
2
que simplificado
p(ti )
p(ti )
2
y(ti ) q(ti )h + 2 + y(ti1 ) 1 + h
= h2 f (ti ),
y(ti+1 ) 1 h
2
2
65
p(ti )
p(ti )
2
yi 2 + q(ti )h + yi1 1 + h
= h2 f (ti ),
yi+1 1 h
2
2
donde i = 1, 2, ..., n, que nos proporciona la aproximacin al problema de contorno. Puede expresarse
de forma matricial como
A y = b,
(4.3)
donde
A=
(2 + q(t1 )h2 )
1 h p(t21 )
(2 + q(t2 )h2 )
1 h p(t22 )
1 + h p(t22 )
(2 + q(t3 )h2 )
0
1 + h p(t23 )
...
...
...
0
0
0
0
0
0
...
0
0
...
0
0
...
0
0
...
...
...
)
2
1 h p(tn1
... (2 + q(tn1 )h )
2
...
1 + h p(t2n )
(2 + q(tn )h2 )
b=
y1
y2
y=
...
yn
h2 f (t1 ) 1 + h p(t21 ) y0
h2 f (t2 )
...
2
hf (tn1 )
2
h f (tn ) 1 h p(t2n ) yn+1
e
(et et ).
2
1e
66
A=
i
11
243
121
1
0
0
0
0
0
0
0
0
1
243
121
1
0
0
0
0
0
0
0
0
1
243
121
1
0
0
0
0
0
0
0
0
1
243
121
1
0
0
0
0
0
0
0
0
1
243
121
1
0
0
0
0
b=
0
0
0
0
1
243
121
1
0
0
0
1
11
0
0
0
0
0
0
0
0
10
11
0
0
0
0
0
1
243
121
1
0
0
0
0
0
0
0
0
1
243
121
1
0
0
0
0
0
0
0
0
1
243
121
1
0
0
0
0
0
0
0
0
1
243
121
Mostramos en la Figura 4.1 los valores obtenidos. Con n = 500, vemos cmo el error decrece el la
Figura 4.2.
4.3
4.3.1
Como sabemos, una ecuacin en derivadas parciales de orden dos es una expresin de la forma
2u
2u
u
2u
u
a(t, y) 2 + b(t, y)
+ c(t, y) 2 + d(t, y)
+ e(t, y)
+ f (t, y)u = g(t, y),
t
ty
y
t
y
donde a, b, c, d, e, f , y g son funciones definidas en conjunto R2 y u(t, y) es una funcin
incgnita a determinar. Si g(t, y) = 0 para todo (x, y) , la ecuacin se dice homognea, siendo
no homognea en caso contrario.
Las ecuaciones se clasifican en tres grandes tipos a partir de su discriminante
(t, y) = b(t, y)2 4a(t, y)c(t, y).
Diremos que la ecuacin es:
Hiperblica si (t, y) > 0 para todo (x, y) .
67
68
'
u
(t , y )
t i j+1
de orden O(h2 + k 2 ). Dejamos al alumno, haciendo uso de los desarrollos de Taylor correspondientes,
la tarea de verificar los rdenes de error para estas frmulas de derivacin numrica.
Una vez obtenidas las frmulas de derivacin numrica anteriores, se sustituyen en la ecuacin
correspondiente y se sustituyen cada valor u(ti , yj ) por un valor ui,j que ser una aporximacin de
la solucin en el punto (ti , yj ). Veremos cmo se procede con los distintos tipos de ecuaciones.
4.3.2
u
2u
= k 2,
t
y
y dmonos cuenta que el cambio de variable s = kt hace que sta se escriba como
u u s u
2u
=
=
k = k 2,
t
s t
s
y
o equivalentemente
u 2 u
= 2,
s
y
por lo que consideraremos el problema
u
2
t = yu2 , t > 0, 0 < y < 1,
u(t, 0) = 0, u(t, 1) = 0, t > 0,
u
t
2u
y2
como
u(ti+1 , yj ) u(ti , yj )
u(ti , yj+1 ) 2u(ti , yj ) + u(ti , yj1 )
=
,
h
k2
que, cambiando u(ti , yj ) por el valor aproximado ui,j queda de la forma
ui+1,j ui,j
ui,j+1 2ui,j + ui,j1
=
,
h
k2
70
h
2h
h
ui+1,j = 2 ui,j+1 + 1 2 ui,j + 2 ui,j1 ,
k
k
k
para i = 0, 1, ..., n 1 y j = 0, 1, ..., m 1. Adems, dado que
u(0, yj ) = u0,j = f (yj ), j = 1, 2, ..., m,
1 2r
r
0
...
0
0
0
r
1 2r
r
...
0
0
0
0
r
1
2r
...
0
0
0
...
...
...
...
...
...
A = ...
,
0
0
0
... 1 2r
r
0
0
0
0
...
r
1 2r
r
0
0
0
...
0
r
1 2r
ui,1
ui,2
ui =
... ,
ui,m1
f (y1 )
f (y2 )
.
u0 =
...
f (ym1 )
Como ejemplo, consideremos el siguiente problema
u
2
t = yu , t > 0, y (0, 1),
u(0, y) = y 2 y, y (0, 1),
0.8 0.1 0
0
0
0
0
0
0
0.1 0.8 0.1 0
0
0
0
0
0
0
0.1
0.8
0.1
0
0
0
0
0
0 0.1 0.8 0.1 0
0
0
A=
0
,
0
0
0
0 0.1 0.8 0.1 0
0
0
0
0
0
0 0.1 0.8 0.1 0
0
0
0
0
0
0 0.1 0.8 0.1
0
0
0
0
0
0
0 0.1 0.8
y la Grfica 4.3 nos muestra la solucin aproximada para la malla que hemos elegido.
71
Figura~4.3: Solucin aproximada para la ecuacin del calor mediante un mtodo en diferencias finitas
explcito.
Para ello hemos de analizar los valores propios de la matriz A = Im1 + rB, donde
B=
2
1
0
...
0
0
0
1
2
1
...
0
0
0
0
1
2
...
0
0
0
...
...
...
...
...
...
...
0
0
0
...
2
1
0
0
0
0
...
1
2
1
0
0
0
...
0
1
2
Los valores propios de dicha matriz son de la forma = 1 + r, donde es valor propio de B. Si
j = j m
, entonces los valores propios de B son 2 cos j 2, j = 1, 2, ..., m 1. Para comprobarlo,
consideramos los vectores
vj = (sin j , sin(2j ), ..., sin((m 1)j )), j = 1, ..., m 1,
72
Como
2
1
0
...
0
0
0
1
2
1
...
0
0
0
0
1
2
...
0
0
0
...
...
...
...
...
...
...
0
0
0
...
2
1
0
0
0
0
...
1
2
1
0
0
0
...
0
1
2
sin(j )
sin(2j )
sin(3j )
...
sin(ij )
...
sin((m 1)j )
2 sin(j ) + sin(2j )
sin(2
j ) 2 sin(3 j ) + sin(4 j )
...
=
sin((i 1)j ) 2 sin(ij ) + sin((i + 1)j )
...
sin((m 2)j ) 2 sin((m 1)j )
(i + 1)j + (i 1)j
(i + 1)j (i 1)j
sin
= 2 sin(ij ) + 2 cos
2
2
= 2 sin(ij ) + sin((i 1)j ) + sin((i + 1)j ), i = 2, 3, ..., n 1,
y
(2 cos j 2) sin((m 1)j ) = 2 sin((m 1)j )
(m + 1)j + (m 1)j
(m + 1)j (m 1)j
sin
+2 cos
2
2
= 2 sin((m 1)j ) + sin((m 2)j ) + sin(mj )
= 2 sin((m 1)j ) + sin((m 2)j ),
dado que
sin(mj ) = sin () = 0,
tenemos que 2 cos j 2 es valor propio de B, y por lo tanto, los valores propios de A son
j = 1 + 2r(cos j 1), j = 1, 2, ..., m 1.
Para que se cumpla la condicin
1 < j < 1, j = 1, 2, ..., m 1,
como cos m1 es prximo a 1, obtenemos que
1 < m1 < 1,
73
o equivalentemente
r=
1
h
< ,
2
k
2
k2
.
2
Esta restriccin hace que el mtodo sea de clculo muy lento. Por ejemplo, si k = 102 , entonces h
debe ser menor que 0.5104 , lo cual hace que el nmero de pasos en la iteracin es grandsimo.
Puede comprobarse aunque queda fuera de los contenidos del curso que si la solucin exacta es
2
de clase C 4 y h < k2 entonces el mtodo es de orden O(h + k2 ).
Mtodos implcitos.
Veamos cmo con un mtodo implcito que tiene a veces mejor tratamiento del error. Consideramos
el esquema discreto
u(ti , yj+1 ) 2u(ti , yj ) + u(ti , yj1 )
u(ti , yj ) u(ti1 , yj )
=
,
h
k2
de donde
ui,j ui1,j
ui,j+1 2ui,j + ui,j1
=
,
h
k2
y as
ui1,j = rui,j1 + (1 + 2r)ui,j rui,j+1
ui = A0 ui+1 ,
siendo ui , i = 0, 1, ..., n 1 como en el caso anterior y
1 + 2r
r
0
...
0
0
0
r
1
+
2r
r
...
0
0
0
0
r
1 + 2r ...
0
0
0
...
...
...
...
...
...
A = ...
0
0
0
...
1
+
2r
r
0
0
0
0
...
r
1 + 2r
r
0
0
0
...
0
r
1 + 2r
La diferencia con el esquema anterior es que ahora cada trmino ui+1 hay que calcularlo resolviendo
un sistema lineal que, dado el nmero de variables que tiene, hay que resolver por un mtodo numrico
apropiado.
Para el estudio de la estabilidad del mtodo, se tiene que los valores propios de A0 son
j
2
, j = 1, 2, ..., m 1.
j = 1 + mr sin
2m
74
21
10
0
A =
0
0
0
0
10 0
0
0
0
0
0
0
21 10 0
0
0
0
0
0
10 21 10 0
0
0
0
0
0 10 21 10 0
0
0
0
0
0 10 21 10 0
0
0
0
0
0 10 21 10 0
0
0
0
0
0 10 21 10 0
0
0
0
0
0 10 21 10
0
0
0
0
0
0 10 21
y la Grfica 4.4 nos muestra la solucin aproximada para la malla que hemos elegido. El mtodo
explcito no converge para los valores que hemos elegido, mientras que el implcito, a pesar de amentar
el tiempo de computacin en cada paso, ofrece una mayor estabilidad y por tanto convergencia bajo
situaciones ms desfavorables.
ui,j ui1,j
ui,j+1 2ui,j + ui,j1
=
,
h
k2
obtenindose
ui,j ui1,j
1
=
h
2
+
=
,
2
h
2
k
h
2
k2
75
A=
B=
1 + r r/2
0
...
0
0
0
r/2 1 + r r/2 ...
0
0
0
0
r/2 1 + r ...
0
0
0
...
...
...
...
...
...
...
0
0
0
... 1 + r r/2
0
0
0
0
... r/2 1 + r r/2
0
0
0
...
0
r/2 1 + r
1 r r/2
0
r/2 1 r r/2
0
r/2 1 r
...
...
...
0
0
0
0
0
0
0
0
0
...
0
0
0
...
0
0
0
...
0
0
0
... ...
...
...
... 1 r r/2
0
... r/2 1 r r/2
...
0
r/2 1 r
Queda fuera de los contenidos del curso demostrar que este mtodo es convergente y de orden
76
11 5
5 11
0 5
0
0
0
0
A=
0
0
0
0
0
0
0
0
B=
9 5
0
0
0
0
0
0
0
5 9 5
0
0
0
0
0
0
0
5 9 5
0
0
0
0
0
0
0
5 9 5
0
0
0
0
0
0
0
5 9 5
0
0
0
0
0
0
0
5 9 5
0
0
0
0
0
0
0
5 9 5
0
0
0
0
0
0
0
5 9 5
0
0
0
0
0
0
0
5 9
obtenindose la aproximacin dada por la Figura 4.5. Observamos en la Figura 4.6 una aproximacin
a la solucin donde hemos disminuido los tamaos de paso.
Observacin final.
Los mtodos anteriores pueden aplicarse a ecuaciones parablicas arbitrarias. Para ello hemos de
considerar las aproximaciones de las derivadas y construir el esquema numrico como en los casos
anteriores.
4.3.3
Ecuacin de ondas
Mtodos explcitos
Un tratamiento anlogo podemos hacer para la ecuacin de ondas de la forma
2u
2
t2 = yu2 , t > 0, 0 < y < 1,
u(t, 0) = 0, u(t, 1) = 0, t > 0,
78
(4.4)
siendo
A=
2(1 r2 )
r2
0
r2
2(1 r2 )
r2
0
r2
2(1 r2 )
...
...
...
0
0
0
0
0
0
0
0
0
...
0
0
0
...
0
0
0
...
0
0
0
...
...
...
...
... 2(1 r2 )
r2
0
2
2
...
r
2(1 r )
r2
2
...
0
r
2(1 r2 )
2u
(0, yj )
t2
2u
(0, yj )
y2
r2
r2
f (yj1 ) + (1 r2 )f (yj ) + f (yj+1 ) + hg(yj ), j = 1, ..., m 1,
2
2
que nos proporciona el valor u1 para poner en marcha el mtodo iterativo.
Puede demostrarse aunque queda fuera de lo exigible en este curso, que el mtodo anterior es
estable si r 1, esto es h k. En este caso, el mtodo converge de la forma O(h2 + k2 ).
Como ejemplo, consideramos el problema
2u
2
t2 = yu2 , t > 0, 0 < y < 1,
u(t, 0) = 0, u(t, 1) = 0, t > 0,
1.5 0.25 0
0
0
0
0.25 1.5 0.25 0
0
0
0
0 0.25 1.5 0.25 0
0
0
0 0.25 1.5 0.25
A=
0
0
0
0 0.25 1.5
0
0
0
0
0 0.25
0
0
0
0
0
0
0
0
0
0
0
0
la matriz
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0.25 0
0
1.5 0.25 0
0.25 1.5 0.25
0 0.25 1.5
La figura 4.7 nos muestra la solucin aproximada para la malla que hemos elegido.
Mtodos implcitos
Podemos generar un mtodo implcito a partir de las aproximaciones
2u
ui+1,j 2ui,j + ui1,j
(t
,
y
)
'
,
i
j
t2
h2
2u
1
(ti , yj ) '
2
y
2
A=
2(s2 + 1)
1
0
1
2(s2 + 1)
1
0
1
2(s2 + 1)
...
...
...
0
0
0
0
0
0
0
0
0
...
0
0
0
...
0
0
0
...
0
0
0
...
...
...
...
... 2(s2 + 1)
1
0
2
...
1
2(s + 1)
1
...
0
1
2(s2 + 1)
y B = A.
Puede verse que este mtodo es incondicionalmente estable y convergente de orden O(h2 + k2 ).
2u
t2
Figura~4.8: Aproximacin del problema de la ecuacin de ondas con la malla elegida mediante un
mtodo implcito con n = 100 y n = 10.
y tomado el tiempo en (0, 5], n = 100 y
10 1
1 10
0 1
0
0
0
A= 0
0
0
0
0
0
0
0
0
La figura 4.8 nos muestra la solucin aproximada para la malla que hemos elegido.
4.3.4
Ecuacin de Laplace
u
n
u
(x, y) + u(x, y) = g(x, y), (x, y) Fr(), , R.
n
Centrmonos en el problema
2u
x2
4.4
Ejercicios
3. Se considera la ecuacin del calor en una dimensin ut = ux x junto con la condicin inicial
2
u(x, 0) = ex para x R. Aplica el mtodo explcito en diferencias finitas con h = 0.25,
k = 0.01 para aproximar la solucin para x = 0.5, t = 0.02.
4. Se considera la ecuacin del calor en una dimensin ut = ux x junto con la condicin inicial
u(x, 0) = cos2 x para x 0 y la condicin frontera u(0, t) = 1. Aplica el mtodo explcito en
diferencias finitas con h = 0.25, k = 0.01 para aproximar la solucin para x = 0.25, t = 0.02.
5. * Se considera la ecuacin del calor ut = ux x con la condiciones iniciales u(x, 0) = x2 /2 y las
condiciones frontera u(0, t) = t, u(1, t) = t + 1/2 para 0 x, t 1.
(a) Resuelve mediante el mtodo explcito en diferencias finitas con h = k = 1/2.
(b) Comprueba que la solucin exacta es u(x, t) = t + x2 /2.
(c) Razona por qu el mtodo en diferencias finitas resulta exacto para este problema (aunque
no se satisfaga la condicin r = k/h2 1/2).
6. * Se considera la ecuacin de ondas ut t = ux x con las condiciones iniciales u(x, 0) = x2 ,
ut (x, 0) = 0 y las condiciones frontera u(0, t) = t2 , u(1, t) = t2 + 1 para 0 x, t 1.
(a) Resuelve mediante el mtodo explcito en diferencias finitas con h = k = 1/4.
(b) Comprueba que la solucin exacta es u(x, t) = t2 + x2 .
(c) Razona por qu el mtodo en diferencias finitas result exacto para este problema.
7. * Sea R el cuadrado cuyos vrtices son {(0, 0), (3/2, 0), (3/2, 3/2), (0, 3/2)}. Resuelve en el
interior de R con el mtodo en diferencias finitas la EDP ux x + uy y y ux x uy + u = 0
tomando h = k = 0.5 y la condicin de contorno u(x, y) = x + y en la frontera de R.
84
85
86
Bibliografa
[BuFa] R. Burden y J. D. Faires, Mtodos numricos, Thomson.
[Dor]
[Ela]
87