You are on page 1of 92

Mtodos numricos para las ecuaciones diferenciales

Jose S. Cnovas Pea 18 de diciembre de 2009

NDICE G ENERAL

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 G ENERAL

ii

Mtodos de AdamsBashforth

52

ndice General

Ecuaciones en diferencias 1.1 1.2 Introduccin ........................................................................................................................................................................... Transformada Z ..................................................................................................................................................................... 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3 1.4 Definicin y propiedades bsicas......................................................................................................................... Transformada Z inversa ...................................................................................................................................... Aplicacin a la resolucin de la ecuacin en diferencias lineales con coeficientes constantes ..................... Frmula de inversin compleja ............................................................................................................................ Funciones de transferencia ..................................................................................................................................

1 1 4 4 6 7 9 11 12 13 17 17 17 19 21 23 27 29 29 30 31 33 33 37 39 40 47 47 47 49 51

Ecuaciones no lineales ......................................................................................................................................................... Ejercicios ..............................................................................................................................................................................

Mtodos de un paso 2.1 2.2 Introduccin ........................................................................................................................................................................... Mtodos de Taylor ................................................................................................................................................................ 2.2.1 2.2.2 2.3 2.4 Mtodo de Euler ................................................................................................................................................... Mtodo de Taylor de orden 2 .............................................................................................................................

Mtodos de RungeKutta de orden dos............................................................................................................................. Anlisis del error en los mtodos de orden uno ................................................................................................................. 2.4.1 2.4.2 2.4.3 Error local de truncamiento en el mtodo de Taylor......................................................................................... Error local de truncamiento en los mtodos de RungeKutta ......................................................................... Relacin entre el error local de truncamiento y el error global........................................................................

2.5 2.6

Extrapolacin de Richardson................................................................................................................................................ Ms sobre los mtodos RungeKutta................................................................................................................................. 2.6.1 2.6.2 2.6.3 El mtodo de 3 etapas .......................................................................................................................................... El mtodo de cuatro etapas ................................................................................................................................. Mtodos de ms etapas ........................................................................................................................................

2.7 3

Ejercicios ..............................................................................................................................................................................

Mtodos multipaso 3.1 3.2 3.3 3.4 Introduccin ........................................................................................................................................................................... Mtodos multipaso lineales .................................................................................................................................................. Primeros ejemplos ................................................................................................................................................................ Mtodos de multipaso deducidos a partir de la integracin numrica ..............................................................................

iii

Mtodos de AdamsMoulton

53

NDICE G ENERAL

3.5 3.6 3.7 3.8 3.9

Estabilidad de los mtodos multipaso lineales ................................................................................................................... Frmulas BDF ....................................................................................................................................................................... Metodos predictorcorrector.............................................................................................................................................. Multipaso o RungeKutta .................................................................................................................................................... Ejercicios ..............................................................................................................................................................................

55 57 58 59 59 63 63 63 67 67 70 77 82 84

4 Mtodos en diferencias finitas 4.1 4.2 4.3 Introduccin ........................................................................................................................................................................... Problemas de contorno en ecuaciones diferenciales ordinarias ....................................................................................... Ecuaciones en derivadas parciales ...................................................................................................................................... 4.3.1 4.3.2 4.3.3 4.3.4 4.4 Clasificacin de ecuaciones de segundo orden lineales .................................................................................... Ecuacin del calor ............................................................................................................................................... Ecuacin de ondas ................................................................................................................................................ Ecuacin de Laplace .............................................................................................................................................

Ejercicios ..............................................................................................................................................................................

iv

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

Una ecuacin en diferencias es una expresin de la forma F(n,yn,yn+i, ...,yn+fc) = 0 , donde F : D C Rk +2 ^ R es una funcin definida sobre un subconjunto D de Rk+1. El nmero k recibe el nombre de orden de la ecuacin. Por ejemplo, las ecuaciones
y

n+2 n =

nyn+3 - eVn+3Vn = yn+i,


son de rdenes 2 y 3, respectivamente. Aparte del orden, existe una gran diferencia entre las ecuaciones anteriores. En la primera se puede despejar el trmino yn+2, quedando la ecuacin
y

n+2 yn,

mientras que en la segunda ecuacin tal operacin no puede realizarse, es decir, no se va a poder despejar explcitamente el trmino yn+3. Nosotros vamos a centrarnos en el primer tipo de ecuaciones, que llamaremos resueltas respecto de el mayor trmino de la sucesin yn. A partir de este momento, consideraremos ecuaciones en diferencias de la forma
y

n+k = f yn,yn+1, ..., yn+k-l) ,

(1 1)

siendo f : A C Rk ^ R una funcin. Por una solucin de la ecuacin (1.1) entenderemos una solucin xn de nmeros reales de manera que verifique x , ) n+k f (n, xn,xn+1 ..., xn+k-1 .

E CUACIONES

EN DIFEREN CIAS

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

n+k + n n+k-1 + ... + n n = n Llamaremos a estos problemas de condiciones iniciales, por su analoga con las ecuaciones diferenciales ordinarias.
Dentro de las n ecuaciones en diferencias, tienen un espcial inters las llamadas ecuaciones que son de esto la forma donde an, ...,on,b son sucesiones de nmeros reales. En el caso de que las sucesiones a^ ..., lineales, an sean constantes, es, an = a 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
y

i
y

n+2 rn yi = -1, y2 = 1.
a y a y b ,

n+3 + nyn+1 yn n+2 yn+1 yn

1, 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

E CUACIONES

EN DIFEREN CIAS

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
y

k+1 k

(1 .2 )

En el proceso, los datos intermedios rk vienen dados por la expresin


r

k xk aVk,

(1.3)

donde a es un nmero real. Combinando (1.2) y (1.3) obtenemos la ecuacin en diferencias de orden uno a x Vk+1 + Vk k Si complicamos el dispositivo, como se muestra en la figura,

se obtiene una ecuacin de orden dos. Aqu

yk+i vk,
3

E CUACIONES

EN DIFEREN CIAS

k+1 rk,

rk = xk + byk - avk,
de donde se obtiene la ecuacin yk+2 + ayk+1 byk = xk. Por ejemplo supongamos la ecuacin

yk+2 + yk+1 - 2yk = 0;


1 yo = y1 = i. Veremos a continuacin cmo abordar el estudio de estas ecuaciones.

1.2 Transformada Z
1.2.1 Definicin y propiedades bsicas

Consideremos una sucesin de nmeros complejos xk. Se define la transformada Z de la misma como la serie

(1.4)

Ntese que (1.4) es una serie de Laurent con parte regular x0 y parte singular Y^=1 xnz n, y que por tanto converger en un disco de convergencia de la forma A(0,r, +ro) = {z E C : |z| > r} donde r es el radio de convergencia de la serie de potencias Y^=1 xnzn. Por ejemplo, si 6 = (1,0, 0, 0,...) entonces su transformada Z es

n=1 n

Z [6](z) = 1
definida en todo el plano complejo. Si xk = (1,1,1,...), entonces

siempre que |z| > 1. Propiedades bsicas.

Linealidad. Dadas las sucesiones xk e yk y a, 3 E C, se verifica Z [axk + 3yk ](z) = aZ [xk ](z) + 3Z [yk ](z)

para todo z en el dominio de definicin de Z [xk](z) y Z [yk](z).

E CUACIONES

EN DIFEREN CIAS

Demostracin. Basta calcular

Z [axk + fiVk](z) ^2 n=0


co

axn + fi Vn

a; n=0

fiZ [ ](z) V[x ](z) ^ S aZ n k + Vk . znz n=0

oo

Dada la sucesin xk, definimos la nueva sucesin Vk xk+1. Entonces Z[Vk](z) Z[xk+i](z) zZ [xk](z) - zxo.

En general, si k0 G N y definimos Vk xk+ko, tenemos la frmula ko-1 Z[xk+ko](z) z Z[xk](z) - xnZko-n. n=0 Demostracin. Calculamos OO
x k0

n+1

Z [x

k+i](z) n=0 z
oo

n
x x n+1

oo

n=0 oo n=0
z z

E
m

n+1 __ zn+1

/ -J n=1

z^2 - zx0 zZ[xk](z) - zx0.

Dada la sucesin xk y a G C \ {0}, se verifica Z [akxk ](z) Z [xk ](z/a).

Dmostracin. Calculamos ^o n
Z [akx ](z)

az? TzTOy Z [xk](z/a). n=0 n=0

Por ejemplo, si xk (1, 2, 22, 23, ), se tiene que OO


Z

k [2k](z)^ zn

2n 1

E CUACIONES

EN DIFEREN CIAS

Dadas las sucesiones xk y km, m E N, se verifica Z [kmxk ](z) = [-z^ ]mZ [xk ](z),

donde por zdZ se entiende la operacin derivada y luego multiplicacin por z. Demostracin. Hacemos la demostracin por induccin en m. Si m = 1, entonces

Z M(z) = ^ n=0 OO
zn zn n=1 OO J

nxn ^ -v d xw zn+1 = z ^ dz zn d n=1 n=1 d -SO xn \ (TO xn = - L zi = -zdz -r zn - x0 = "z5IZx](z)

o- r U A

Si suponemos el resultado cierto para m, veamos que tambin lo es para m +1. Para esto calculamos Z[km+1xk](z) = = Z[k kmik](z) = -zdjZ[kmxk](z) (-"^ '[-z^ ]"Z [xk ](z) = [-z ]m+1Z [xk ](z).

2 Por ejemplo, si xk = k2, entonces Z [*'2](z) = [-;-d]iZ [1](z) = [-z-^]2 z dz d/ dz \ z


2

dz z - 1 dz\ dz z - 1y 3z2
3

d / -z dz \z - 1 + (z - 1)2 2z3 +

z2

z - 1 (z - 1) (z - 1) si |z| > 1.

1.2.2

Transformada Z inversa
Z [xn](z) = F (z),

Es interesante obtener transformadas Z inversas de funciones de variable compleja F(z), es decir, qu sucesiones verifican que 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 E C : |z| >r}, donde r > 0. Por ejemplo, si F(z) = zh, entonces desarrollando en serie de Laurent

1 11 1 ^ 1 ^ 1 z - 1 z 1 1 z zn zn+1
z

n = 0 n = 0

E CUACIONES

EN DIFEREN CIAS

si |z| > 1. Entonces la sucesin xk = Z-1[1/(z - 1)] = (0,1,1,1,...).

1.2.3

Aplicacin a la resolucin de la ecuacin en diferencias lineales con coeficientes constantes


yk+2 + yk+i - 2yfc = 1; yo = yi = 1

Consideramos el problema

obtenido anteriormente. Tomando la transformada Z en la ecuacin, usando las propiedades de sta y tomando en consideracin las condiciones iniciales obtenemos
Z [y

k+2 + yk+1 2yk](z) = Z [1](z)

y desarrollando Z[yfc+2 + yk+1 - 2yk](z) = Z[yk+2](z) + Z[yfc+i](z) - 2Z[yfc](z) = z2Z [yk](z) - z + zZ [yk](z) - 2Z [yk](z) = (z2 + z - 2)Z [yk](z) - z.

Por otra parte Z [1](z) Entonces


(z

+ z 2)Z [yfc](z) z + z-1z-1 2


Z [y

con lo que fc](z ) = z

(z2 + z 2)(z 1) Pasamos a fracciones simples r i / \ z2 1 3 4 Z [y ](z) fc ~T ------ ~T ------------- 7T2 - -- 7 + (z - 1)2(z + 2) (z - 1)2 z - 1 Z + 2 y calculamos la transformada inversa obteniendo los desarrollos en series de Laurent 1 1 1 1 ^ /-2y ^ (-2)n z + 2 = z 1 - = z ^ y z ) = z n+1 z n=0 v 7 n=0 si |z| > 2. 1 11 1 ^ 1 ^ 1 z - 1 = z 1 - 1 = z ^ zn = ^ z n+1 z n=0 si |z| > 1. Finalmente n=0

(z 1)2 dz \z 1 ) dz \ zn+1 ) ' ^ '

\n=0

1 = d / 1 \ = d / ^ 1 \ = ^ d 1 = ^ n + 1 dz zn+1 zn+2 / n=0 n=0

^ n +1

^ 3 ^ 4(2)n+1

E CUACIONES

EN DIFEREN CIAS

sii |z| > 1. Entonces si |z| > 2 se tiene que


r i / \ -1 Z[y ](z)

fc

34 ~ T -------- 7T2 ------- 7 + (z 1)2 z 1 z + 2


C O |

/ - j ~n+2 n+2 Z / -j yn+2 n=0 n=0 oo

r n i ^ _ ^ _ L + ^ (2) / zn+1 / n 1 ^Z ^ zn+1 /+ -j yn+2 + / -j yn+2 n=0 n=0 n=0

O O

O O/\

1 + g n 4 + 4(2)n+1 z n=0 por lo que si k > 2 yfc 4(2)fc+1 4 + k. Veamos a continuacin el siguiente ejemplo, en que las raices son complejas: zn+2

I
Si aplicamos la transformada Z a la ecuacin, tenemos que
Z [x

n+2 2xn+1 + 2xn 1) x0 x1 0.

n+2 2xn+1 + 2xn](z) Z [1](z).

Por un lado Z [1](z) ^ n=0 mientras que Z [x+2 2x+1 + 2x](z) Z [Xn+2 ](z) 2Z [xn+1](z) + 2Z [xn](z) de donde Z [xn](z)
2
00

1 z

L ^ t zn

1z 1 1 z 1'

z2Z [xn](z) z2x0 zx1 2zZ [xn](z) 2zx0 + 2Z [xn](z)

(z2 2z + 2)Z [xn](z),

y
(z 1)(z 2z + 2)'

Desarrollamos la funcin en serie de Laurent para calcular xn. Para ello en primer lugar z 1 11+i 11-i z12z1i2z1+i Calculamos de forma separada z

(z 1)(z2 2z + 2) (z 1)(z 1 i)(z 1 + i)

z 1 z 1 - z zn

n=0

zn n=1

/1 i \ "

E CUACIONES
1

EN DIFEREN CIAS

'-ET = 1 X ^) = X(1 + i)"-' "=0 ' ' "=1

--- 1 --- = 1-------^ = 1 X (^) = X(1 - i)""'1, / z 1 + i z 1 z ~^ nV z / z "=0 v con lo que agrupando CO ^
z

n=1

z"

-, CO

-, -, O -, ,1 1 X(1+i)" z" 1 X(1i)" z" z" 2 ' ' z'


rr> 1

(z 1)(z2 2z + 2)
\ / \ /

^ -- 1

"=1 "=1 "=1 z" 2

rn - - 1

(i -1(1 + i)" - 2(1 0) 1


"=1 y teniendo en cuenta que
nn /-, .\" 0"/2/ . v (1 + i) = 2 / (cos ------------- + i s i n ) , v \/ 4 4 / i - \ " o"/2/ nn nn \ (1 i ) = 2 / (cos ------------ i s i n ) , 4 4

obtenemos (z 1)(z2 2z + 2) ^ 1 2"/2COs 4 ) z" =1 y por tanto


/2 1= 1_2" cos . X" = 1 2 cos 4

nn\ 1

1.2.4

Frmula de inversin compleja

Supongamos que Z [xfc](z) = ^2 Xfcz k, fc=0 y multipliquemos ambos miembros de la igualdad por zn 1, de donde O Z[xk](z)z
n-1

= ^ xkz

n-k-1

. k=0

Supongamos una circunferencia del plano complejo Y que contiene todas las singularidades de la funcin Z[xk](z)zn-1, para todo n > 1. Por la frmula integral de Cauchy

jy

Z [xk ](z)

*-"-idz =

OO k=; z"-k-idz

1Oi (*) = y2 Xkz" dz = X" 2ni k=0 A


-k-1

E CUACIONES

EN DIFEREN CIAS

dado que
xkz

"-k-1dz

0 si n k 2, 2nixn si n k 2.

'Y
Por el Teorema de los residuos 1 Xn 2ni

Z[xfc](z)zn 1dz ^Res(Z[xfc](z)zn 1,z) Y i=1

donde si z es un polo de orden m, entonces el residuo es 1 dm-1 Res(Z[xk](z)zn-1,zi) = (m -1), Hm ^^-1 ((z - zrZ[xk](z)zn-1) Vamos a modo de ejemplo a obtener la transformada inversa de f (z) (z 2)2(z + 3)'

Sus polos son 2, de orden dos, y -3 que es de orden uno. Entonces


n 1d/ 2 z (z 1) lim ---- I (z 2) 7 ------- T777 --------T 1! z^2 dz n \ (z 2)2(z + 3) d /z (z 1) lim z 2 ^ dz y (z + 3)

Res(f (z)zn-1, 2)

n-1 (z 1) + zn)(z + 3) zn(z 1) v (nz lim ----------------- ; ---- 2r-r ------------z^2 (z + 3)

(n2n-1 + 2n)5 2n _ 4 1 25 y zn(z 1) Res(f (z)z , 3) lim (z 3)


n

_^2n + _______ n2n 25 + 50 ,

z^-r (z 2)2(z + 3)
zn(z 1) 4 lim . . z^-3 (z 2)2 De esta forma

25(3>'

4 1 4 _2n + n2n __________ (3n) 2 n2 (3) 25 + 50 25 . 1 f (z) z2 + 1

Sea ahora

cuyos polos simples son i. Entonces yn 1 (z i)(z + i)


n-1 z 11

Res(f (z)zn , i) lim(z i)

= lim

z^ (z + i) 2i 10

- in-1 in, 2

E CUACIONES

EN DIFEREN CIAS

y Res(f (z)zn , -i) = lim (z + i)


vn

(z - i)(z + i)
r -(-i) 2;

^n ______ =1 -(-i)n-1 lim (z - i) 2i( )

por lo que
X

n = - ^ir + 2(-i)r

Expresando los nmeros complejos en forma trigonomtrica y utilizando la frmula de De Moivre, obtenemos

- - in + -(-i)r 2 2 1/ n . . n. n 1. - n , - n. n -- (cos ---; + i sin ) +(cos -------- + i sin ----) 2 ' 2 2V 2 2 2 2 1 nn nn = ----- (cos ----- + i sin 22 2 2

cos

-nn 2

+ i sin

nn,
2

y dado que . nn . nn sin = sin 2 - 2


y

nn - nn cos = cos -------22 obtenemos xn = cos nn 2

1.2.5 Funciones de transferencia.


La funcin de transferencia asociada a la transformada Z se define de forma anloga a la funcin de transferencia asociada a la transformada de Laplace. Consideremos en este contexto una ecuacin en diferencias finitas de la forma

a y

n k+n + an- 1yk+n-1 + + a1yk+1 + a0yk j

(1.5)

siendo a G R, 0 < i < n. Entonces, suponiendo que y 0 i < k, tomando la transformada Z obtenemos que (anzn + an-1zn + + a1z + ao)Z [yk ](z) = Z [ufc](z), por lo que
Z[

yfc](z) = anz + an- 1z


n n-1

1 + + a1z + ao

Z M(z)

Se define enotnces la funcin de transferencia asociada a la ecuacin como


Z [y

fc](z) 1

T (z) =

Z [ufc ](z) anzn + an-1zn-1 + + a1z + ao

11

E CUACIONES

EN DIFEREN CIAS

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

Consideremos ahora una ecuacin en diferencias de orden k no lineal


y

n+k = f yn ..., yn+k-1) ,

donde f : A C Rk+1 ^ R es una funcin continua. Esta ecuacin puede reducirse a un sistema de orden orden uno de la manera siguiente. Definimos las variables zn = y , zn = y + , ...,zn = y + . de n n 1 n k-1 Entonces 12 z n+1 = zzn, z z2 = z3 n+1 n,
k-1 z

= zk zn+1 zn,

, zn+1 =f (n,zn+1,...,zn+1).
Esto es, si zn = (zn,..., zn), entonces de forma compacta el sistema se puede escribir como
z

n+1 = f (n zn)

donde

f (n,z?1 ,...,zn) = (zn ,zn ,...,zn ,f(n,zn+1,...,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 - yn-1) es una ecuacin autnoma y


x x

n+1
y

n + yn,

n+1 = xn y^

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

E CUACIONES

EN DIFEREN CIAS

1.4 Ejercicios
1. Encontrar la transformada Z de las siguientes sucesiones determinando su conjunto de convergencia.

(a) = n +1. (d) y = (0,1,1,1,..). (g) y = 1/2".

(b) y" = (0,1, 0,1,0,1, (e) y" = 2 ". (h) y" = n3".
2

(c) y" = n4. (f) y" = 1 + 2". (i) y" = (0,1, 0, 2,0,4,...,0, 2",...).

2. Resolver las siguientes ecuaciones homogneas: (a) yn+2 + yn+1 - 2yn = 0. (b) yn+2 - yn+1 - 2yn = 0. (d) yn+2 2yn+1 + yn = 0. (e) yn+2 - 4yn+1 - 12yn = 0.
y

(c) y"2 + A2y" = 0 donde A G R. + "1 + " .


2y y 0

(f) y

"2

"2 + 2y"1 3y" 0. (h) y"3 y"2 + 2y"1 2y" . (i) y"4 + y"2 2y" 0.

3. Resolver las siguientes ecuaciones no homogneas:


(a) y n+2 + yn+1 2yn 2 . (b) yn+2 yn+1 2yn 2. (d) yn+2 + yn = n2. (e) yn+2 - 4yn+1 - 12yn = n2n.

(c) y"2 2y"1 + y" = (1)" (f)

y"2 + 2y"1 + y" = n3. y"2 + 4y" = n(1)". (h) y"2 2y"1 + 6y" = 3" + n. (i) y"3 y"2 + 2y"2 2y" = 1.

4. Resolver los siguientes problemas de condiciones iniciales: y"2 + 2y"1 + y" = n2 (a) { yo = 0 y1 =1
y

y"2 + y"1 2y" = 0 (b) S yo =


1 0

y"2 4y"1 12y" = 0 (c)

{ yo = y1(0) = 1
y1 = 2

"2 2y"1 + y" = 1 (d) S yo y"2 4y"1 + y" = n y"2 + y" = n


(f) (e)

=0 y1 =0

S yo =

s yo =

y1 = 0
y

y1 =0
y (i)

"3 y"2 + 2y"1 2y" 2 ' y"2 + y" = n + 2 (h) ^ yo = 1 y1 = -1

yo = 1 y1 =0 . y2 =1 5. Determinar cules de las ecuaciones anteriores son estables.

"2 y"1 2y" 1 y1 = -1

s yo =

6. Obtener la solucin de los siguientes circuitos digitales suponiendo condiciones iniciales nulas:

13

E CUACIONES

EN DIFEREN CIAS

7. Calcular el comportamiento asinttico (lmite cuando n tiende a infinito) de la solucin de los siguientes circuitos digitales:

14

x = e-x. (b) log x = x. (c) x = e-y, y = e-2x xn+1 = axn(1 - xn), a [0, 4]. (b) xn+2 = xn.

E CUACIONES

EN DIFEREN CIAS

3 2 2 8. Encontrar las soluciones (c) aproximadas xn+1(d) = de \/ las yn/a siguientes yn+1 ecuaciones = xn/b xn, a, b de < algebraicas xn+1 = usando xn +1los mtodos de Newton x 2=yn, 0 (e) cos x \/ =x -y1sistemas (f) log(x +0. 1)(d) = x.

y el de la aplicacin contractiva, en caso (e) de poder xn+1 usarse. = ex" (f) xn+2 = 3xn(1 - xn) 9. Encontrar los punto fijos de las ecuaciones en diferencias no lineales siguientes, y determinar la estabilidad local de los mismos:

15

E CUACIONES

EN DIFEREN CIAS

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

Consideramos un problema de condiciones iniciales de la forma

donde la funcin f : Q C Rm+1 ^ Rm es suficiente regular para que dicho problema tenga solucin nica. Por ejemplo, f y Jf, i 1, ...,m continuas. Sin embargo, dada un problema de condiciones iniciales arbitrario, es muy posible que no sepamos cmo hallar dicha solucin. Basta considerar el problema y' ey2, y(0) 4.

y' f (t, y), y(t0) y0,

(2,1)

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, y
1,...,

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

Este mtodo se basa en suponer que la solucin y(t; t0, y0) es suficientemente diferenciable en un entorno de t0. Si t1 est en dicho entorno y denotando h t1 t0, entonces y(t1; t0, y0) y(t0; t0, y0) + 1 y'(t0; t0, y0)h + 1 y''(0; t0, y0)h2 + ... + +^ yn)(t0; t0, y0)hn + o(hn), n!

17

M TODOS

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(to; to, y0) = y0, y0(to; to, y0) = f (to, y0) = ^(o, y0),
d

y//(to; ^, y0) = y/(to; ^ y0) = fl(to, y0)

d d = f1(t0, y0) + d_f1(0, yo)y0(to; to, y0) d d = dt f1(t0, y0) + dyf1(t0, y0)f (*o, y0)
= yo), donde por dyf1(t0, yo) denotamos el gradiente de f1(t0, y0). y3)(to; ^, yo) = ^"to; ^ yo) = d yo)

d d = dt f2 (to, yo) +
= ;T;;f2(to, yo) + t = f3(to, yo). Inductivamente, si y
n-1)

yo)y/(to; ^ yo) yo)f (^ yo)

dd
y

(t0; t0, y0) = fn-1(t0, y0), entonces yn)(to; ^, yo) = yn-1)(to; ^ yo) = ^-^ yo)
d

d d = ;T;:fn-l(to, yo) + -7T- n-!^ yo^^o; ^ yo)


t y

d d = dt ^-^^ yo) + ^yfn-l(to, yo)f (^ yo)


= fn(to, yo). As, sustituyendo en la frmula original y(t1; to, yo) = yo +11 f^to, yo)h + 2 f2(to, yo)h2 +... + +r yo)hn + n! con lo que y1 = yo + n f1(to, yo)h + f2(to, yo)h2 +... + ny fn(to, yo)hn es una aproximacin de y(t1; to, yo), esto es y(t1; to, yo) ~ y1 = yo + 11y^(o, yo)h + 2f2(to,yo)h2 + ... + 2fn(to, yo)hn. Veamos qu forma particular tiene esta aproximacin para diferentes valores de n. (2.2)

18

MTODOS DE UN PASO

Figura 2.1: El mtodo de Euler. El error ei es jyi y(ti; to,yo)|.

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 y(ti; to,yo) - yi = yo +if(to,yo)h, (2.3)

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; to,yo) para t = to tiene la forma y y(to; to,yo) = y'(to; to,yo)(t to), y sustituyendo cada elemento de la expresin anterior por su valor obtenemos y yo = f (to,yo)(t to). Si sustituimos t por ti en la recta anterior obtenemos y(ti; to,yo) - yi = yo + f (to,yo)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 f y' = y, l y(0) = 1,

19

M TODOS

DE UN PASO

que como sabemos, tiene por solucin y(t;0,1) e*. Tomemos t1 0.1, y estimemos por el mtodo de Euler y(0.1; 0,1). Como h 0.1, entonces y1 y0 + y0h 1 + 0.1 1.1. Como vemos, el error cometido e1 |y(0.1; 0,1) y11 je0'1 1.1| w 0.00517092.

esto es, el error aumenta considerablemente. Esto se debe a que estamos tomando aproximaciones locales. Para reducir el error se procede de la siguiente manera. Tomamos una particin P del intervalo [t0,tf], esto es P t0 < t1 < t2 < ... < tn-1 < tn tf. Definimos h* t*+1 t*, i 0,1,..., n 1. Construimos la sucesin yn de la siguiente manera y1 y0 + f (t0, y0)h0. Ahora bien, y1 es una aproximacin de y(t1; t0, y0). Para construir y2, tomamos la aproximacin mediante el mtodo de Euler del problema

y' f (t, y), y(t1) yl, dado por y2 y1 + f (t1, y1)h1, y de forma recurrente para i 1,..., n, y* y*-1 + f (ti-1, y-1)h-1. En general, suele tomarse h* 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

y* y*-1 + f (t*-1, y*-1)h y* + f (t0 + (i 1)h, y*-1)h, para i 1,..., n. En el ejemplo anterior, tomamos h 0.1 y calculamos y1 y0 + f (0,yj)h 1 + 1 0.1 1.1, y2 y1 + f

(h,y1)h 1.1+ 1.1 0.1 1.21, ya 0.1 1.331, y4 1.4641, y5 1.61051, y6 1.77156, y7 1.94872, y8 2.14359, y9 2.35795, y10 2.59374,

y2 + f (2h,y2)h 1.21 + 1.21

ya + f (3h,ya)h 1.331 + 1.331 0.1 y4 + f (4h,y4)h 1.4641 + 1.4641 0.1 y5 + f (5h, y5)h 1.61051 + 1.61051 0.1 y6 + f (6h,y6)h 1.77156 + 1.77156 0.1 y7 + f (7h, y7)h 1.94872 + 1.94872 0.1 y8 + f (8h,y8)h 2.14359 + 2.14359 0.1 y9 + f (9h,y9)h 2.35795 + 2.35795 0.1

20

M TODOS

DE UN PASO

y ahora los errores son e = |ei*o'i yi|, para i = 1,..., 10, que nos da la siguiente tabla aproximada

ei 0.005

e2 0.011

e3 0.019

e4 0.028

e5 0.038

ee 0.051

e7 0.065

io

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 ei hasta eio, 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 0.718

h = 0.1 0.125

h = 0.01 0.013

h = 0.001 0.001

h = 0.0001 0.00014

h = 0.00001 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

Mtodo de Taylor de orden 2

Si hacemos n = 2, observamos que el mtodo de Taylor queda de la siguiente forma: y(ti; to, yo) - yi = yo + fi(to, yo)h + f2(to,yo)h2, y dado que fi(to, yo) = f (to, yo)
y

d d f2(to, yo) = dt f (to, yo) + f (to, yo) ^yf (to, yo),


se puede reescribir como f(to, yo) + f (to, yo)dyf(to, yon h2. 1 / d d \ y(ti; to, yo) - yi = yo + f (to, yo)h + ^

Si dividimos el intervalo [to, tf] en n intervalos igualmente espaciados siendo el tamao de paso h = (tf to)/n, el valor y(tf; to, yo) con yn, que puede estimarse con la recurrencia y = yi-i + f (to + (i 1)h, y_i)h 1/dd\ +2 (dtf (to +(i 1)h, y*_i) +f (to +(i 1)h, y*_i) dyf (to +(i 1)h, y*_iMh2,

para i = 1,..., n. Si consideramos el problema de condiciones iniciales anterior

y' = y, y(0) = 1, 21

MTODOS DE UN PASO

tenemos que f (t, y) = y, por lo que (t, y) =0 y f (t, y) = 1, y as la recurrencia anterior se expresa de la forma 1 ( h2\ y* = y*_i + y*-ih + ^y_ih2 = ( 1 + h + J y*_i,

para i = 1,..., n. Tomando h = 0.1 (n = 10) y calculando obtenemos

yi

+h + y 1 yo = 1.105, h2

y2

1 + h + y )2 y1 = 1.22103, h2

ya

1 + h + y )2 y2 = 1.34923, h2

y4

1 + h + 2 ) y3 = 1.4909, h2 1 + h + y )2 y4 = 1.64745,
h

y5

2 ye = 1 + h + y) y5 = 1.82043, h2 \ 1 + h + t) ye = 2.01157, h2 \ 1 + h + yj y7 = 2.22279,

y?

ys

=
h2 1 + h + --2

yo

= 2.45618,

yio y ahora los errores son

h 1 + h + y )y9 = 2.71408,

e* = je**0'1 - y*| para i = 1,..., 10, que nos da la siguiente tabla aproximada ei 0.00017 e2 0.0004 e3 0.0006 e4 0.0009 e5 0.0013 ee 0.0017 e? 0.0022
e

10

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 0.2183 h = 0.1 0.0042 h = 0.01
4

h = 0.001 O 1 .
5 1

h = 0.0001
4

h = 0.00001 . o i
5 1

0.000045

4.5 10

-9

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

M TODOS

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' 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

Mtodos de RungeKutta de orden dos

Este mtodo se basa en la ecuacin integral asociada al problema de condiciones iniciales

y' f (t, y), yM = yo,

que se construye de la siguiente manera. Como y(t; t0, y0) es solucin y(t; t0, y0) y(t0; t0, y0) y(t; t0, y0) y0 / y(s; t0, y0)ds f(s, y(s; t0, y0))ds. Jt0

Jt0

Entonces, dicha funcin puede calcularse a partir de la ecuacin integral

y(t) y0 f(s,y(s))ds. t0 Los mtodos de RungeKutta se basan en obtener aproximaciones de la integral

f(s y(s))ds t0
mediante algn mtodo de integracin numrica apropiado. A modo de primer ejemplo, supongamos que dicha integral se aproxima mediante el mtodo del trapecio, esto es

h
t0 2

f(

sy(s))ds w 2[f(to,y(t0)) +f(tf,y(tf))],

siendo h tf10. El valor f (t0, y(t0)) f (t0, y0) es conocido. Sin embargo f (tf, y(tf)) es desconocido dado que y(tf) y(tf; t0, y0) es precisamente el valor que tenemos que aproximar mediante el mtodo. Para obtener un valor aproximado de dicho valor para poder aplicar el mtodo, obtenemos ste por un algoritmo de los estudiados anteriormente para tamao de paso h, por ejemplo y* y0 + hf (t0, y0), que es el mtodo de Euler. Entonces y1 y0 + ^[f (^ y0) + f (tf, y*)],
h

23

MTODOS DE UN PASO

ser la aproximacin de y(tf; to, yo) que buscbamos. Si tomamos un tamao de paso h = (tf to)/n, se tiene que de forma compacta y*+i = yo + hf (to + ih, y), h y*+i = yo + 2 [f(to + y ) + f(to + (i + 1)h, y*+i)] que se conoce como mtodo de Heun. Como vemos, hay dos etapas, una inicial donde se calcula y* y otra posterior donde ya se obtiene la aproximacin propiamente dicha. Por ello, se dice que es un mtodo de RungeKutta de dos etapas, y como veremos posteriormente de orden dos. Suele escribirse de forma ms compacta como

( gi = hf(ti-i, yi-i),

< g2 = hf (ti-i + h, yi-i + gi), [ yi = yi-i + 5(gi + g2)Veamos cmo se implementa este mtodo en nuestro ejemplo de costumbre / y' = y. \ y(0) = 1. Los valores que obtenemos para tamao de paso h = 0.1 son

yi = (1 + h) yo = 1.1,
1 yi = yo + I (yo + yi) = 1.105, 1 y2 = (1 + h) yi = 1.2155, 1 y2 = yi + | (yi + y2 ) = 1.22103,
1

y3 = (1 + h) y2 = 1.34313,

1 y3 = y2 + 1 (y2 + y3) = 1.34923,


1

y4 = (1 + h) y3 = 1.48416, f y4 = y3 + 1

(y3 + y4) = 1.4909, 1 y5 = (1 + h) y4 = 1.63999, 1 y5 = y4 + 1 (y4 + y5) = 1.64745,


1

y6 = (1 + h) y5 = 1.81219,

1 y6 = y5 + 1 (y5 + y6) = 1.82043,


1 y7 = (1 + h) y6 = 2.00247, 1 y? = y6 + 1 (y6 + y?) = 2.01157, 1

y8 = (1 + h) y? = 2.21273,

1 y8 = y7 + 1 (y7 + y8) = 2.22279, y9 = (1 + h) y8 = 2.44507, 1 yo = y8 + 1 (y8 + y9) = 2.45618,


1 1

yio = (1 + h) y9 = 2.7018,

\ yio = y9 + 1 (y9 + y*o) = 2.71408, cuyos errores son

ei 0.00017

e2 0.0004

e3 0.0006

e4 0.0009

e6 0.0017

e? 0.0022

e8 0.0028

eo 0.0034

eio 0.0042

0.0013

24

M TODOS

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 0.2183 h = 0.1 0.0042 h = 0.01
4

h = 0.001 O 1 .
5 1

h = 0.0001
4

h = 0.00001 . 0 i
5 1

0.000045

4.5 10

-9

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 gi = hf (ti-i, yi-i), g2 = hf (ti-i + C2h, yi-i + a2igi), y* = yi-i + bigi + b2g2, donde los tiempos ti-i no tienen porqu ser uniformemente distribuidos, y b2 = 0. Si tomamos g2(h)/h y desarrollamos mediante la serie de Taylor de primer orden obtenemos

g2(h) = g2(0) + hg2(0) + O(h) df = f(ti-i,y-i) + h ( C2 (ti-i,y-i) + a2^ (ti-i,y-i)f(ti-i,yi-i)j + O(h),

df d f \

'd t

dy

por lo que yi = yi-i + bigi + 2g2 df df \ = yi-i + (bi + 62) hf (ti-i, yi-i) + 62 h2 C2 (ti-i, yi-i) + 2i dy (ti-i, yi-i)f (ti-i, yi-i) ) Por otra parte, la aproximacin mediante la serie de Taylor de orden dos de y(t; ti-i, yi-i) era

d
Wd d yi = yi-i + f(ti-i,yi-i)h + - f(ti-i,yi-i) + f(ti-i,yi-i)^yf(ti-i,yi-iM h2, e igualando coeficientes obtenemos que bi + b2 = 1, b2C2 =1/2, b22i = 1/2. Como b2 = 0, tenemos que a2i = c2 = y bi = 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

i
e

gi = hf (ti-i, yi-i), g2 = hf (ti-i + h, yi-i + i gi),

yi = yi-i + hg2 = yi-i + hf (ti-i + 77, yi-i + o gi) hh = yi-i + hf (ti-i + , yi-i + f (ti-l, yi-l)),

h -

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 = yi-i + ^2 bjgj , j=i gi = hf (ti-i, yi-i), donde g2 = hf (ti-i + C2h, yi-i + a2igi), g3 = hf (ti-i + C3h, yi-i + a3igi + a32g2),

^ gm

1 +

i1 + am1g1 + am2g2 + + amm-1gm-l)

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
c a a

2i 3i mi
a

32 ... amm-1 ... bm-1 bm A b

m2 b2 c*

bi y en forma matricial

b2,.. . m m As, el mtodo dado por la tabla

,b

(a

jk) ^ Mmxm(R

con ajk = 0 si k > j.

y i 2 0

y concretado en gi = hf (ti-i, yi-i), g2 = hf (ti-i + h, yi-i + ^ gi), g3 = hf (ti-i + h, yi-i + i g2), g4 = hf (ti-i + h, yi-i + g3), que da yi = yi-i + ^ gi + 3 1 1 g2 + 3 1 1 g3 + ^ g4

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

y=^ y(0) = 1,

26

MTODOS DE UN PASO

tenemos que los valores que obtenemos para tamao de paso h = 0 yi = 1.10517, ya = 1.34986, y5 y7 y9 cuyos errores son = 1.64872, = 2.01375, = 2.4596, y2 y4 y6 y8 y1
0

son

= 1.2214, = 1.49182, = 1.82212, = 2.22554, = 2.71828,

e9 = 1.7 10_6

e10 = 2.1 10_6

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 0.00995 .
2

h = 0.1 O 1

h = 0.01

h = 0.001 8 00 7 .
1 1

O 1

a
h = 0.0001 6.22 10_15

e7 = 1.1 10_6

e6 10_
00

= 8.3
7 1

O O 1 1

O o 1

e e

i 00

to

8 6

co

e e

2.25 10_10

3 5 e

7 i 0

h = 0.00001
-1

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

Anlisis del error en los mtodos de orden uno

Consideramos un problema de condiciones iniciales de la forma


f

y0 = f(t,y),

1 y(to) = yo,
donde la funcin f : C Rm+1 ^ Rm es suficiente regular para que dicho problema tenga solucin nica. Como hemos visto hasta ahora, los mtodos numricos de Taylor y RungeKutta se basan en, fijado t1 > t0 y un tamao de paso h = tl-t, construir una sucesin y0, y1,..., yn de manera que sean una aproximacin de la solucin y(t; t0, y0) en los tiempos t* = t0 + hi. Como hemos puesto de manifiesto con algunos ejemplos, estos mtodos tienen inherentemente asociados unos errores que se deben a dos causas bien diferenciadas: Errores matemticos debidos al mtodo numrico empleado. Errores de redondeo al trabajar los computadores con precesin finita. En general, los mtodos que conocemos son de la forma y* = y*_1 + h$(_1,y*_1,h), i = 1,...,n, (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

M TODOS

DE UN PASO

Definimos el error global de la solucin aproximada como e = y y(*;to,yo), i = 0,1,...,n, y el mtodo numrico en cuestin se dir convergente si lim max | |ej| =0. h^0 o<i<n 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 $(t y, 0) = f (t y).

consistente si
.

(2 5)

Por ejemplo, en el caso de los mtodos de Taylor de orden n, la funcin dada por (2.5) es
$( n hj1 t y, 0) = YI ~v~ yj) = y0 =f (t y). j=1 j

En el caso de los mtodos de RungeKutta, dicho mtodo es consistente si n bj = ! 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 = y 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 y' = f (t, y),

i
numrico implementado

y(t1) = 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; to, yo) + h$(ti1, y (ti1; to, yo),h) y (ti; to, yo), es decir, aquel error que se obtendra al sustituir la solucin real del problema de condiciones iniciales y(t; to, yo) en el mtodo

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 lim t = iim y(ti1; to, yo) y(ti1 + h; to, yo) h^o h h^o + lim $(ti1, y (ti1; to, yo),h) h^o h

= y'(ti1; to, yo) + f (ti1, y(ti1; to, yo)) = 0,

28

MTODOS DE UN PASO

por ser

to, yo) solucin de la ecuacin diferencial. Bsicamente, la consistencia indica que ||t*||

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

Error local de truncamiento en el mtodo de Taylor

Recordemos que el mtodo de Taylor es de la forma y* = y*_i + i fl(t^-l, y*_i)h + 2 f2(t^-l, y_i)h2 + + n fm(t*-l, y_i)hn

= y*_i + 2^ tf y*_i). *=i Entonces, el error local de truncamiento es t* = y(ti_i; to, yo) + h$(j_i, y(t*_i; to, yo),h) - y(t*; to, yo) n J-t i 00 j * = yi)(t*_i; to, yo) yi)(t*_i; ^ yo) i=l i=l

X] yi)(t*_i; to, yo) i=n+l hn+l yn+l)(t_i + nh; to, yo), (n + 1)!' con n G (0,1). Entonces, existe A > 0 de manera que ||t*|| < Ahn+l, o equivalentemente ||t* || = O(hn+l), con lo que el mtodo de Taylor truncado en el paso n es de orden n + 1.

2.4.2

Error local de truncamiento en los mtodos de RungeKutta

Por simplicidad, vamos a considerar slamente los mtodos de dos etapas dados por gi = hf (t*_i, y*_i), g2 = hf (t*_i + C2h, y*_i + a2igi), y* = y*_i + bigi + &2g2, donde a2l = c2 = 2^ y bl = 1 b2. Entonces $(t, y,h) = bif (t, y) + bf (t + c2h, y + a2ihf (t, y)).

29

M TODOS

DE UN PASO

Ahora bien ti = y(ti-i; to, yo) + -$(t-i, y(t-i; to, yo),h) - y(t; to, yo) j = y(t*-i; to, yo) + -$(t*-i, y(t-i; to, yo),h) - ^ yj)(t*-i; to, yo) j=o -'

/ hj-i \ - ( $(t-i, y(ti-i; to, yo),h) - ^ pyj)(t-i; to, yo) j h3 = y *_1 + nh; ^ yo),
3)(t

debido a los valores de los coeficientes del mtodo de RungeKutta, siendo n (0,1). De esta manera, vemos que ||ti|| = O(h3). En general, el error local de truncamiento en un mtodo de RungeKutta de n pasos es O(h+1).

2.4.3

Relacin entre el error local de truncamiento y el error global

Vamos a ver cmo podemos controlar el error global a partir del error local de truncamiento. Como sabemos e* = y* - y(t*; o, y0). Entonces e* = y*_1 + h$(t*_1,y*_1,h) + t* - y(t*_1;o,y0) - h$(*_1,y(t*_1; o,y0),h) = t* + e*_1 + h ($(*_1,y*_1,h) - $(*_1,y(t*_1;o,y0),h)). Sea M > 0 tal que ||t*|| < M y teniendo en cuenta que h > 0, obtenemos la acotacin ||e*|| < M + ||e*_11| + h||$(*_1, y*_1,h) - $(*_1, y(t*_1; 0, y0),h)||. Supongamos ahora que $ satisface una condicin de Lipschitz con constante L > 0 en la variable y, esto es ||$(t*_1,y*_1,h) - $(t*_1,y(t*_1;0,y0),h)|| < L||y*_1 - y(t*_1;0,y0)||, con lo que la expresin (2.6) se reduce a ||e*|| < M + ||e*_11| + h||$(t*_1,y*_1,h) - $(t*_1,y(t*_1;0,y0),h)|| < M + ||e^_l|| + hL||y*_1 - y(*_1; ^ yo)|| = M + || e* ___ 11| (1 + hL). Aplicando la anterior desigualdad para i > 1 tenemos ||e11| < ||eo||(1 + hL) + M, (2.6)

||e2|| < ||e1||(1 + hL) + M < || eo || (1 + hL)2 + M (1 + (1 + hL)),

30

*11

- hLV

MTODOS DE UN PASO

y en general i-1 Como por otra parte, M = Ahn+1 donde A > 0 [M ^ O(hn+1)], tenemos que || e * || < ||e0||(1 + hL)j + M^(1 + hL)j. j=0 ||e*|| < Bhp, Como

Y, (1 + hL)j =(1 + hf - 1,
j=0

por lo que acabamos de probar el siguiente resultado: sustituyendo en la expresin Theorem 2 Si ||t*|| ^ O(hn+1) entonces ||e*||anterior, ^ O(hn).

2.5

Extrapolacin de Richardson
(

||e||< ||eo||(1 + hL)j + M(1 + 1 hL

= i+o - la (Msolucin +hL) -hfSupongamos que y(t*) = y(t*,h) es aproximada del problema de condiciones iniciales De la nocin de exponencial real tenemos que 0 teniendo en cuenta que e0 = 0, concluimos que < (1 + hL)j < ehLj, y

M|< hL(ehL- - 1)Ahora bien ih = tf t0, donde tf es el tiempo final donde deseamos conocer la solucin de la ecuacin diferencial, por lo que || e * || < (eL(tf-t0) 1).

y0 = f (t, y), y(t0) = yo,

con tamao de paso h, esto es, t = ti = to + ih. Supongamos que el error global ei(h) = y(ti,h) y(ti; to, yo) = d(ti)hp + O(hp+1), (2.7)

31

2P

V 2

M TODOS

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 (h/2) = y(,h/2) - y(; Q, yo) = d(^^ + (hp+1). d(t*) i hxp Restando e*(h/2) - ei(h) = y(t,h/2) - y(t*,h) = d(t)hp (- 1) + (hP+1) = d(t)(h)' (1 - 2P) + O(hp+1), (2.8)

con lo que y(ti,h/2) - y(,h)_ d(t )+ Por otra parte, si multiplicamos

(K

2) P + O(hP+1)'

2pe*(h/2) = 2py(t*,h/2) 2py(t*; to, yo) = d(t*)hp + O(hp+l), y calculando 2pe*(h/2) e*(h) = 2py(t*,h/2) 2py(t*; to, yo) y(t*,h) + y(t*; to, yo) = O(hp+l), de donde yfeto, yo) y(i,h) g2(Mt/2)= o(hP+i), por lo que y(t*,h) 2py(t*,h/2) 1 2P es una aproximacin de y(t*; to, yo) que tiene al menos orden O(hp+l). De este modo, aumentamos en uno el orden de convergencia, sin por ellos aumentar la cantidad de operaciones de una forma drstica. Esto es lo que se conoce como el mtodo de extrapolacin de Richardson. A modo de ejemplo, tomemos el problema

y' = ^ y(0) = 1,

y calculemos y(1;0,1) por el mtodo de Euler con tamao de paso h = 10000 y h/2 = 5000. Obtenemos los errores e(h) = 0.000135902 y e(h/2) = 0.0000679539. Teniendo en cuenta que el mtodo de Euler es de orden uno, calculamos
y(t ,h) 2y(t ,h/2) * * = 2 _ 2.71821 2.71815 = 2.71828, 12

que nos da un error de 6.22853 10_9, con lo que el error ha disminuido notablemente con una serie de operaciones sencillas.

32

MTODOS DE UN PASO

2.6

Ms sobre los mtodos RungeKutta

Partimos de la ecuacin diferencial con condiciones iniciales

y' = f(t y) ,
1 y(to) = yo. En general, un mtodo de RungeKutta explcito de m etapas es de la forma y* = y*-i + donde gi = hf (t*-1, y*-i), g2 = hf (t*-i + C2h, y*-i + a2igi), < g3 = hf (ti-1 + C3h, y*-i + a3igi + a32g2) ^ gm hf (t-1 + cmh^ y-1 + am1g1 + am2g2 + ... + amm-igm-1)^ 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

^2 gj j=i

0
C C

2 3 m

a a

21 31 m1 32
a

m2 .

. amm-1
.b

bi y en forma matricial

62 .

m-i bm

A b

donde c = (0, C2,... , Cm), b = (61,62,..., bm) y A = (j e Mmxm(R) con j = 0 si k > j. Se satisfacen en general las condiciones de simplificacin j-i
c

j = ^ j j = 2,...,m. fc=i

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 t* ^ O(h4). Como sabemos, su tabla de Butcher ser

0
C C

2 3

a a

21 31 a32 i
b

3 b 2 b

33

M TODOS

DE UN PASO

y el mtodo ser de la forma g1 = hf (ti1, yi1), g2 = hf (ti1 + C2h, yi1 + a21g1), g3 = hf (ti1 + C3h, yi1 + a31g1 + a32g2),
y

yi = yi1 + &1g1 + b2g2 + b3g3.

(2.9)

Por otra parte, la aproximacin mediante la serie de Taylor de orden tres de y(t; ti1, yi1) era yi = yi1 + f(ti1, yi1)h +^f(ti1, yi1) + f(ti1, yi1)f(ti1, yi1)) h2
1

(2.10)

( d2 d2 d d

6 Vdt2f(ti-1, yi-l) + 2f(ti-1, yi-l) dydtf(ti-1, yi-l) + dtf(ti-1, yi-l) dy

d d d2 \ + f(ti-i,yi-i)f(ti-i,yi-1)2 + f(ti-i,yi-1)27^2f(ti-i,yi-in h3 + O(h4)


Tomamos la funcin G2(h) = f (ti-i + C2h, yi-i + 2igi), derivamos dos veces respecto de h

(2.11)

dd
G2(h) = C2 dt f (ti-i + C2h, yi-i + a2igi) + ^yf (ti-i + C2h, yi-i + a2igi)a2if (t-1, yi-i),

d2

32 G2 (h) = c2 dt2 f (ti-i + C2h, yi-i + a2igi) + 2c2 ddy f (ti-i + c2h, yi-i + a2igi)a2if (ti-i, yi-i)

22

+f (ti1 + C2h, yi-i + a2igi)a2if (ti-i, yi-1)2,

de donde el desarrollo de Taylor de orden dos es G2(h) = G2(0) + G2(0)h +2 G2 (0)h2 + O(h2)
f

= f(ti-i,yi-i) + ( C2f(ti-i,yi-i) + a2if(ti-i,yi-i)f(ti-i,yi-iH h


l

dd\

2 2 +2 v2dt2f(ti-i,yi-i) + 2c2a2if(ti-i,yi-i)dtdyf(ti-i,yi-i)

2 + 2if(ti-i,yi-1)2f(ti-i,yi-in h2 + O(h3)

y por otra parte


G

3 (h) = f (ti-1 + c3h, yi-1 + a3lgl + a32hG2 (h)) ,

34

M TODOS

DE UN PASO

que derivando dos veces nos da d G3(h) = C3 f (t*_i + csh, y*_i + 3igi + a32hG2(h)) d + dyf (t*_l + c3h, y*_l + 31gl + a32hG2(h)) (a3lf y*_l) + 32(G2(h) + hG2(h)))

d2
G

3 (h) = c3dt2f (t*_l + C3h, y*_l + a3lgl + a32hG2(h)) + d 2 + 2c3 dtdyf (t*_l + c3h, y*_l + a3lgl + a32hG2(h)) (a3lf

y_l) + a32(G2(h) + hG2(h)))

d2 2 + f (t*_l + c3h, y*_l + a3lgl + a32hG2(h)) (a3lf y*-l) + a32(G2(h) + hG2(h)))

d + dyf (t*-1 + c3h, y*-1 + a3lgl + a32hG2(h)) (a32(2G2(h) + hG2 (h))) , de donde dd G3(0) = C3f(t*_i,y*_i) + (31 + 32) dyf(t*-i,y*-i)f(t*_i,y*_i),

d2 d2 g3 (0) = c21^2 f (t*-i, y*-i) + 2c3 (31 + 32) dtdyf (t*_i, y*-i)f (t*-i, y*-i) d2 + (a3i + 32)2 f ^-u y*-i)f ^-^ y*-i)2 d/dd\ +232dyf(t*_i,y*_i) ( c2dtf(t*-i,y*-i) + 2if(t*-i,y*-i)dyf(t*-i,y-in , por lo que el desarrollo de Taylor en cero es

G (h)

= G3(0) + G3(0)h +2G3 (0)h2 + O(h3) /dd\ = f(t*_i,y*_i) + C3f(t*_i,y*_i) + (31 + 32) dyf(t*-i,y*-i)f(t*_i,y*-i)) h 1 id d2 +2 (c3 dt2 f ^-^ y*-i) + 2c3 (3i + 32) d td yf ^-u y*-i)f y*_i)
2

d 2 + (3i + 32)2 dy2f ^-u y*-i)f ^-^ y*-i)2 + ^2fl32dyf(t*_i, y*_i) ^C2dtf(t*_i, y*_i) + 2if(t*_i, y*_i)dyf(t*-i, y*-i)^ h2 +O(h2)

Introduciendo los desarrollos de Taylor de G2 y G3 en la ingualdad (2.9), y comparando con el

35

M TODOS

DE UN PASO

desarrollo de Taylor de orden 2 (2.10), obtenemos las ecuaciones bi + 62 + 63 = 1, 62 C2 + 63 C3 = 1, b2a21 + b3 (a31 + 32) = 1 ^ 62c2 + 63 c3 =1, b2C2a21 + b3c3 (31 + 32 ) = ^ ^ b22i + b3 (a31 + a32)2 = 1 ^ b3 a32c2 = 6 ^ b3 a32a21 = 1. 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

62c2 + 63c2 =

que es la cuarta, y la ltima ecuacin es la antepenltima, con lo que el sistema reducido de ecuaciones nos queda bi + 62 + 63 = 1, c2 = a21 ^ c3 = 31 + 32 ^ 62C2 + 63 C3 = 1, b2c2 + 63 c3 = 1,
b a

3 32c2 = 6 ^

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

!
que 2 c3 1 c2 3 c3
c c

62 =

63 =

2 3 22 2 c2 c 2 i3 c 2 2 22 1 c2 3 c2 c3 2 2 2 c c c2 c 3

c2c3(c3 c2)

c2c3(c3 c2)

y de la ltima 1
a

c2c3(c3 c2)
6

32 =

6b3c2

(5 ?

De c3 = a31 + a32 tenemos que c2c3(c3


a

31 = c3 32 = c3

c2) 6 (i

36

M TODOS

DE UN PASO

y de b1 + b2 + b3 = 1 concluimos

3C2 T

c3

[93_ 1^ 3)

^ (1 _ 2 v 3

bi = 1 62 63 = 1
c c (c

c2c3(c3 c2) c2c3(c3 c2)

2 3 3 c2) c3 (f 5) c2 (j f )

c2c3(c3 c2) (c2c3 + j) (c3 c2) 2 (c3 c2) c2c3(c3 c2)

As, obtenemos los mtodos de RungeKutta de orden tres 0 1 2 3 4 1 23 0 u 4 2 14 939

0 1 2 1 1 2 12 121 636 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

El mtodo de cuatro etapas

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
c c c

2 3 4

21 31 41 bi 32 42 62 43 63 64

entonces han de satisfacerse la simplificacin


c

j-i j = jj = 234 fc=i

37

M TODOS

DE UN PASO

y las condiciones &1 + b2 + 63 + &4 = 1, 62C2 + 63 C3 + 64C4 = 1, 62c2 + 63c2 + 64C4 = 3,


6 a b c

3 32c2 + b4(a42c2 + a43c3) = 11, b2c2 + b3c3 +

4 4 = 1, 63 C3^32C2 + &4C4(a42C2 + 043C3) = 1, 63^32^ + 64(a42C2 + a43c|) = 12, ^ 64a43a32c2 = 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 6iaij = 6j(1 Cj), j = 2, 3,4, i=1 donde aij- = 0 si i > j, de la cual se tiene para j = 4 que (2.12)

6 (1 c )

4 =

de donde c4 = 1 ya que 64 = 0. Como las ecuaciones 2, 3 y 5 son lineales en 62, 63 y 64, tenemos que

62 =

1 2C3 12C2(1 C2)(C2 C3) 1 1 2C2 63 = 12C3(1 C3)(C3 C2) , 6c2c3 4(C3 + C2) +3
C )

64 = Tomando ahora j = 3 en (2.12) obtenemos

12C2(1 C2)(1

(1 C2)(2C2 1)(1 C3)


a

43 =

C3(C2 C3)(6C2C3 4(C2 + C3) + 3) '

Finalmente, de la ltima ecuacin y (2.12) con j = 2 obtenemos C3 (C2 C3)


a32

= 2C2(2C2 1),

y a = 042

(1 C2)[2(1 C3)(1 2C3) (C2 C3)] 2C2(C2 C3)[6C2C3 4(c2 + C3) + 3] ^

Como vemos, estas soluciones dependientes de dos parmetros son vlidas siempre que c2 1/ {0,1/2,1}, c3 1/ {0,1} y c2 = c3. Cuando alguna de estas condiciones no se satisfacen, existen no obstante mtodos de RungeKutta con estos coeficientes.

38

M TODOS

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 1 1 3 1 3 1 1 8 y sobre todo, que cumple c2 = c3, 0 1 2 1 2 1 1 2 0 0 1 6 1 -1 3 8 1 31 88

1 2 0 1 3

1 11 36

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

En general, se conoce que un mtodo de RungeKutta de m etapas tiene a lo sumo orden m. De hecho, se tiene la siguiente tabla para los rdenes en funcin de las etapas

Etapas Orden

1 1

2 2

3 3

4 4

5 4

6 5

7 6

8 6

es decir, a partir de 5 etapas no aumenta el orden global del mtodo. Por qu entonces se construyen mtodos de ms de 5 etapas? La razn es meramente computacional, ya que los errores debidos al redondeo aumentan con el nmero de pasos. Para fijar ideas, supongamos que el error global de un mtodo es e = Chp, donde p es el orden. Tomando logaritmos tenemos que log e = log C + p log h, y suponiendo que el tamao del paso h = (tf to)/n se tiene log e = log C + p log n = log C + p log(tf to) p log n = B p log n, siendo B = log C + p log(tf to). Si asumimos cierta la identidad log e = B p log n

39

M TODOS

DE UN PASO

y escirbimos otra anloga para un mtodo de orden q log e = B' 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. 0

2.7

Ej ercicios

1. Calcula una constante de Lipschitz respecto de y para las funciones (a) (b) (c)
f (t,

y) = Vt t > 1. =t y2, |y| < 10

f (t,y)

* f (t, y) = 2y/(t2 + 1).

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) (b) (c) (d) (e) (f) {y' = 1 y, y(0) =0}, b = 1, h = 0.5, h/2 = 0.25. {y' = t2 y, y(0) = 2}, b = 0.2, h = 0.2, h/2 = 0.1. {y' = y + e* + ty, y(1) = 2}, b = 1.03, h = 0.01, h/2 = 0.005. {y' = 2y/(t2 + 1), y(0) = 1}, b = 1.2, h = 0.2, h/2 = 0.1. {y' = y2 + 2t t4, y(0) =0}, b = 0.2, h = 0.2, h/2 = 0.1. {y' = t + y, y(0) = 1}, b = 0.2, h = 0.2, h/2 = 0.1.

3. Aplica el mtodo de Euler para resolver el problema y' = 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" + 2y0 + 4y = 0, y(0) = 2, y0(0) = 0, dando dos pasos de amplitud h = 0.2 para aproximar y(0.4). 5. Se considera la ecuacin integral de Volterra y(t) = e* + / cos(s + y(s)) ds Jo 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 = yn-1 + h f (tn,yn-1). (a) (b) (c) Encuentra la funcin 0(t, y, h) que se ajusta a yn = yn-1 + h 0(tn-1,yn-1,h). Demuestra que el mtodo numrico es estable y consistente de primer orden. Aplica extrapolacin de Richardson local para construir un nuevo mtodo convergente de segundo orden.

7. Demuestra que el esquema de un paso yn = yn-1 + h0(tn-1,yn-1,h) definido a partir de


0(

t y, h) = f (t y) + h f(1) ^ h,y + h f(t y^

es convergente de tercer orden. 8. Encuentra coeficientes a21,a31,a32 para una frmula explcita similar a la regla de Simpson

0 1/2 1
a a

2i 3i 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 61, 62 y 63 para que el mtodo de tablero 0 1/2 1 1/2 1/2 1/2 3 -O 2 -O -O

tenga orden dos. ?Existe algn caso con orden tres? 10. Resuelve el sistema de dos ecuaciones yi = t yi y2 = 3yi + 2y2 con las condiciones iniciales yi(3) = -1.312258, y2(3) = -0.414524 dando un paso con h = 0.04 y dos pasos con h = 0.02 con la regla de los trapecios explcita, el mtodo de Taylor de tercer orden y el mtodo Runge-Kutta clsico de cuarto orden. Utiliza la extrapolacin de Richardson para mejorar las aproximaciones de los tres mtodos.

41

M TODOS

DE UN PASO

11. Se considera el esquema

n-1 + 4 hf ^tn-1 + 3 ,yn-1 + hf (tn-1 ,yn-1^ +

+4

hf(t

n_1 + ^ yn-1 + hf (tn-1,yn-1))

Plantea el mtodo como un mtodo Runge-Kutta y escribe su tablero de Butcher. ?Satisface las condiciones de simplificacin? 12. * Se considera el esquema anterior

n-1 + ^ hf ^tn-1 + 3 ,yn-1 + hf (tn-1,yn-1^ +

+4

hf(t

n_1 + ^ yn_1 + hf (tn_1,yn_1))

siendo f lipschitziana y suficientemente diferenciable. Demuestra que, para h suficientemente pequea, este esquema admite una solucin nica, estudia la estabilidad y el orden del esquema. 13. * Obtn todos los mtodos Runge-Kutta explcitos de dos etapas y orden dos. ?Puede alguno de ellos tener orden superior a dos? 14. * Usa el mtodo de Taylor de tercer orden y el Runge-Kutta clsico de cuarto orden con h = 0.1 para aproximar la solucin en t = 0.1 y t = 0.2 del problema y' = y t, y(0) = 2. Utiliza la solucin exacta y(t) = e* + t + 1 para comparar ambas aproximaciones. 15. * Se considera el mtodo

0 1/2 3/4 1/2 0 2/9 3/4 3/9 4/9

Escribe el algoritmo y estudia el orden del mtodo. Utilzalo para resolver el problema y0 = y2 + 2t t4, y(0) = 0 dando dos pasos con h = 0.1. 16. * Se considera el mtodo Runge-Kutta de cuarto orden con tablero 0 1/2 1/2 1 1/2 1/4 1/4 0 12 1/6 0 4/6 1/6 Escribe el algoritmo y justifica su convergencia. Resuelve el problema y' = 1 2ty, y(0) = 0 en el intervalo [0, 0.3] tomando h = 0.1 y utilizando los mtodos de Euler, Taylor de segundo orden y este Runge-Kutta.

42

MTODOS DE UN PASO

17.

* Dada la ecuacin lineal y' = Pi(t) y + Qi(t) prueba que las derivadas necesarias para el mtodo de Taylor de orden p vienen dadas por el algoritmo y(k) = Pfc (t) y + Qfc (t) donde
P

fc(t) = Pk-1(t) + Pi(t) Pfc-i(t) Qfc(t) = Q/k-1(t) + Qi(t) Pfc-i(t)

18.

* Se considera el mtodo

0 1/2 3/4 1/2 0 2/9 3/4 3/9 4/9

Escribe el algoritmo y estudia el orden. Integra el problema y' = t2 + y, y(0) = 0 en [0, 0.2] tomando h = 0.1 con este mtodo y el de Taylor de tercer orden. 19. * Estudia en funcin de c3 y b2 el orden del mtodo de tablero 0 1/3 C3 1/3 0 C3 / 2 -O
1 3

y obtn uno con orden 3. Resuelve con este mtodo y el de Taylor de segundo orden el problema y' = t2 y, y(0) = 1 en [0, 0.2] con pasos h = 0.2 y h = 0.1. Utiliza la solucin exacta y(t) = e-t + t2 2t + 2 para calcular los errores en t = 0.2 para ambos mtodos. ?Se comportan los errores como se espera cuando h se divide entre dos? 20. * Halla todos los mtodos de orden mximo de tablero

0 C2 C3 C2
a

31

32

1/6

4/6 1/6

Utiliza uno de ellos y el de Taylor de tercer orden para aproximar la solucin de y0 = t y, y(0) = 1 en t = 0.2 dando un paso de amplitud h = 0.2 y dos de amplitud h = 0.1 y mejorar las aproximaciones mediante extrapolacin de Richardson. Teniendo en cuenta que la solucin exacta es y(t) = e* /2, ?se comportan los errores como se espera? 21. * Se considera el mtodo de tablero

0 2/3 2/3 1/4 3/4

43

MTODOS DE UN PASO

(a) (b)

Estudia el orden del mtodo. Hemos integrado con este mtodo el problema y0 = e*, y(0) = 1 en el intervalo [0,1] y hemos obtenido la siguiente tabla de errores. h 1/4 1/40 1/400 error 1.23047 10-4 1.24191 10-7 1.24266 10-10

?Se ajusta el error numrico al terico? Razona tu respuesta calculando el error local asociado al problema. 22. * Transforma el problema y00(t) = t + y2(t), y(3) = 1, y0(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 y0(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. 25. * Estudia si hay un Runge-Kutta explcito de tres etapas y orden tres con b1 = b2 = b3. * Transforma el problema y00(t) = y(t) + t y0(t), y(1) = 2, y0(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 y0(t) = t y2(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), x(1) = 1 z0(t) = e* + x(t), z (1) = 2 Da dos pasos con h = 0.01 para el mtodo Runge-Kutta de tablero

0 1/2 1 1/2 12 1/6 4/6 1/6

44

MTODOS DE UN PASO

29.

* Se quiere resolver el problema de primer orden y'(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. 31.

* Encuentra el Runge-Kutta explcito de tres etapas y orden tres con b1 = c3 = 0. * Se quiere aproximar en el tiempo t = 0.98 la solucin del sistema x'(t) = t z(t), x(1) = 1

z'(t) = x(t) + z(t), z(1) = 2 Da dos pasos con h = 0.01 para el mtodo Runge-Kutta de tablero

0 1/3 2/3 1/3 0 2/3 1/4 0 3/4

32.

* Dado el problema y'(t)=sin( + y()), 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 ^ = 0. Estudia si existe algn Runge-Kutta de tres etapas y orden tres con ^ = 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

Partimos de la ecuacin diferencial con condiciones iniciales

y' = f(t, y), 1 y(o) = yo,


que verifica tener unicidad de solucin. Hasta ahora hemos visto mtodos numricos de un paso, es decir, la sucesin que aproxima la solucin y se genera de forma recursiva a partir de los trminos inmediatamente anteriores, esto es yi-i. Como veremos, en los mtodos multipaso esta sucesin se construye a partir de una ecuacin en diferencias con orden mayor que uno. Veamos a continuacin cmo construir tales aproximaciones.

3.2

Mtodos multipaso lineales

Sea y(t; t0, yo) la solucin del problema de condiciones iniciales anterior, y sean tf = ti > t0, y h = ti t0. Sea yi la aproximacin de y(ti; t0, y0) dada por la expresin pp yi = a y- +h YI f (t0 i'^ y-j), j 0 j -i = = donde a j, bj y p son parmetros elegidos de acuerdo con unas condiciones de convergencia y estabilidad detrminadas, e y-j y(t0 jh;to,yo), i = 1,...,p. Si p > 1, entonces para j = 1, ...,p los valores y-j- han de ser previamente estimados con un mtodo de orden uno, probablemente algn mtodo de RungeKutta. Si b-i = 0, el mtodo se dir
(3 1)

47

M TODOS

MULTIPASO

explcito ya que y1 se obtiene directamente como pp yi = a y-j + h X] f (to jh y-j). j=o j=o Sin embargo, si b-1 = 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 to)/n y t = to + ih, para cada i {1,..., n} construimos pp y*+i = ajyi_j + h X] bjf (ti jh, yi-j), (3.2) j o j -1 = = junto con las condiciones yj, j = 0 parmetros del mtodo. Para ello, consideramos el error local de truncamiento pp ti+1 = ^2 aj y (ti jh; to, yo) + h ^ bj f (ti jh, y (ti ih; to, y o ) ) y (ti + h; to, yo) j o j -1 = = p p = 53 aj y (ti jh; to, yo) + h^2 bj y'(ti jh; to, yo) y (ti + h; to, yo), j o j -1 = = y tomando el desarrollo en serie de Taylor en h = 0, tenemos pp ti+1 = ^2 aj y(ti jh; to, yo) + h ^ bj y'(ti jh; to, yo) y (ti + h; to, yo) j=o p ^ 1 = 53^53 i yk)(ti; to, yo)(1)k (ih)k j=o fc=o 1 p TO 1 +h 53 bj53 kiyk+1)(ti; to,yo)(1)k(ih)k j=-1 k=o 1 53 M yk)(ti; to, yo^
oo ^

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

j=-i

ki fc=o y reagrupando en distintas potencias de h concluimos que p\/pp\ a = hy to, ,y ) ti+1 (ti; yo) aj b + ia hy'(ti; j 1 Iy+ '(ti; t0 oY] I ^3 j 153 j 1 ) to, yo) ( ^ " bj N " iaj 1 j o = / \j=-1 j=o / (p1p h2 (t t , + y'' i; o yon J3 jbj + 2 j2aj 2 j=-i j=o +h3y3)(ti; to,yo) X A 1 X A ^ \ j=-1 j=o / + . . . + ^ j=_ jk -ibj+ <j
k a

j)+..

48

MTODOS MLTIPASO

y si fijamos a_i = 0, podemos escribir de forma ms compacta \j=0 ) k=1


1 ( ) a -1 hk k)( ) (1)k X jk 1(jaj - kbj)-1) 1t*+i = y *; o,yo (X j ) + X ki y *; o>yo ( V j=_1 / j^j

j=_i con lo que el error local de truncamiento ser de orden O(hq+1) si se satisfacen las ecuaciones p
a j1 'j

, j=o

(-1)k

p Xjk_1(jaj- kb) = 1k =12,->qj=-1

Veamos algunos ejemplos concretos de mtodos multipaso.

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 b_1 = 0. Ser entonces un mtodo de la forma y*+1 = aoy + a1y_1 + hbof (*, y*) + hbf (* - h, y*_1), satisfaciendo el sistema de ecuaciones ao + a1 = 1, a1 + bo + ^1 = 1, a1 2&1 = 1, a1 + 3&1 = 1, de donde b1 =2, a1 =5, bo = 4 y ao = 4, de donde y*+1 = 4y* + 5y*_1 + 4hf (*, y*) + 2hf (* h, y*_1). Si elegimos un mtodo implcito, esto es, y*+1 = aoy* + a1y*_1 + hb_f (* + h, y*+1) + hbof (*, y*) + hbf (* h, y*_1), el sistema de ecuaciones anterior es de la forma ao + a1 = 1, a1 + b_1 + bo + &1 = 1, a1 + 2b_1 2b1 = 1, a1 + 3b_1 + 3b1 = 1, que es un sistema compatible indeterminado cuya solucin es <

ao 1 A, a1 = A, _ 12 A, A R, b_ 1 5 1 3A, bo = 2 2 b1 = 112 + 5A,

49

MTODOS MLTIPASO

por lo que si A = 0, tenemos el mtodo 5 2 1 yi+1 = yi + h f (ti + h, yi+1) + h 3 f (ti, y i) h f (t h, y-i). El mtodo implcito tiene la desventaja de que el valor de yi+1 ha de obtenerse a partir de la solucin aproximada de una ecuacin algebraica, cosa que no ocurre con el mtodo explcito. Este ltimo no permite obtener aproximaciones de tanto orden como el implcito. Por ejemplo, el mtodo de dos pasos explcito no puede tener orden 4, ya que debera cumplir, adems de las ecuaciones anteriores, la ecuacin adicional ai 4&i = 1,

y dado que el determinante 1 -2 1 -1 3 1 1 -4 1 el sistema dado por ai 2bi = 1, ai + 3bi = 1, ai 4bi = 1, no tiene solucin. Sin embargo, si planteamos el mismo sistema para el mtodo implcito, hemos de aadir la ecuacin = 4,

4b0 1 2 3 4 0 1 0 0 0

y ahora el determinate

1 0 0 0 0

1 -1 1 -1 1

ai + -

i 0 1 = -12, 2 1 3 4 1 1 1 1 = 8, 1

i-

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 ai + 5b __ i + 5bi = 1, y tomando las ltimas 4 ecuaciones, el determinante de la matriz ampliada sera

1 1 1
1 1

2 3 4 5

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

2 1 3 5 4 1

y = y,
y(0) = 1,

50

M TODOS

MLTIPASO

y queremos aproximar y(1; 0,1), esto es f = 1, y aplicamos el mtodo

y*+1 1= 4y* + 5y*_1 + 4hy* + 2hy*_1, ,


1 yo = yl donde y1 lo hemos elegido a partir de un mtodo de RungeKutta de orden 3 para un tamao de paso prefijado h, vemos que la aproximacin empieza a oscilar, con lo cual, a pesar de tener una aproximacin local de orden 3, el error global crece de forma dramtica. Veremos qu ocurre con este mtodo, pero antes veamos cmo deducir los mtodos de multipaso a partir de la integracin numrica.

3.4

Mtodos de multipaso deducidos a partir de la integracin numrica


I y = f(,y),
1 y(*o) = yo,

Partamos de la ecuacin diferencial

y buscamos aproximar y(f; o, yo). Para ello fijamos h = (f o)/n y * = o + hi, i = 0,1, ...,n. Integrando respecto de la variable independiente

rU+1 rU+1 y(*+1; o, yo) y(*; o, yo) = / y0(; o, yo)d = / f(, y(; o, yo))d. t/ ti t/ ti
Si queremos cosntruir un mtodo de p pasos, sustituimos f (, y(; o, yo)) por un polinomio de interpolacin de grado p, que denotaremos Q(), y que cumplir la condicin Q(* jh) = f (* jh, y(* jh; o, yo)), j = i p, ...,i. Este polinomio de interpolacin verifica que f (, y(; o, yo)) = Q() + E() donde E() es el error cometido al aproximar la funcin por el polinomio interpolador, y que ser clave a la hora de determin ar el error local cometido en la aproximacin. El mtodo numrico que hemos de construir tendr la forma ' ti+1 y*+1 = y* + q()d, ti donde q(* jh) = f(* jh, y*_j), 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 /ti+1 fti+1t*+1 = y(*; o, yo) + Q()d y(*+1; o, yo) = / E()d,
t t

i i

es decir, depender del error que se comete al calcular el polinomio interpolador. Vamos a ver a continuacin cmo se construyen los mtodos de multipaso explcitos e implcitos.

51

M TODOS

MLTIPASO

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 Vixi = Vxi = xi xi-i, y para k > 1, Vk Xi = Vfc-ixi Vfc_ixi_i. Por ejemplo V2Xi = VXi VXi_i = (Xi Xi_i) (Xi_i Xi_2) = Xi 2Xi_i + Xi_2,
y

V3Xi = V2Xi V2Xi_i = (Xi 2Xi_i + Xi_2) (Xi_i 2Xi_2 + Xi_3)


X 3x

_1 + 3x_2 Xi_3.

Por convenio, estableceremos que V0xi = xi. Si t = ti + sh, el polinomio de interpolacin tiene la forma
s

+M V72f(t.y.) + + S + p M V7P

q(t) = f^ y) + sVf(i^y*) + ^ s + ^ v2f(i^ y) + ... + ^ s + p ^ Vpf (i^ y) s + j - 1 ) Vjf(ti,y*), J j=o \ y

=I

donde
m

m(m 1)...(m k + 1)

para m G R y k G N, y ( m ) = 1-

Adems, el error del polinomio de interpolacin


E(t)

= ( p + p ) hp+1fp+1)(t^,y(t;^yo)) + (hP+2).

Como s = , reescribimos

Z11 y*+i = y* + / q(t)dt = y* + h / q(xi + sh)ds. J,

Jo

52

M TODOS

MULTIPASO

El mtodo de AdamsBashforth se construye a partir del desarrollo i yi+i = y* + h / q(xi + sh)ds

Jo
ro i1P ( s + j ) h vjf(t s y* + h y* + (^X *. y* + v /o J0 ( j= p h y* + Yl Yjvj f (t*. y0> j=o
j x

') )

v j f ( y,)ds

"

donde los coeficientes Yo = 1 Y.j = jf(


S

+ j " ^ ds,j = 1,2 ................................................p,

se calculan de forma directa. De hecho, los primeros coeficientes son

Y1

Y2

Y3

Y4 251 720

Y5 95 288

Y6 19087 60480

1 5 3 2 12 8 Adems, el error local de truncamiento es de la forma

ti+i = hp+2Yp+iyp+2(ti; to, yo) + O(hp+3), por lo que es orden O(hp+2). As, si buscamos un mtodo de error global O(h3), necesitaremos que p = 2, siendo el mtodo de la forma

,+, = h (ni,.

= yi + h (ti,yi) + ^[f(ti,yi) + f(t-i,yi_i)] 5 + 12 [f (ti, yi) 2f (ti-1, yi-i) + f (ti-2, yi-2)] = yi + 112h (23f (ti, yi) 16f (ti_i, yi_i) + 5f (ti_2, yi-2)).

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 q*(t) = f(ti+^yi+i) + sVf(ti+^yi+i) ^ s + 1 ^ V2f(ti,yi) + ... + ^ s + p 1 ^ Vpf(ti+l,yi+i)

53

MTODOS MLTIPASO

con lo que, como s =

tx

i+1 h

reescribimos

fti+1 r0 yi+1 = y* + / q*()d = y* + h/ q*(x + sh)ds. Jti


Desarrollando, obtenemos 0 yi+i = y* + h / q(xi + sh)ds -1 = y* + h
j

J-1

= y* +h Vf(*+i y*+i) / ( +j x)ds) p = y* + hX y]v f (t*+i y*+i)j j=0

donde *1 Yo=Z
d

Y] = I y el error local de truncamiento es

, j = 1, 2,...,p,

ti+i = hp+27*+1yp+2(; q, yo) + O(hp+3). Los primeros coeficientes son en este caso Yi i 2
Y2 Y3

Y4 19 720

Y5

Y6

i 12

1 24

863 60480

rol o

Tomando p = 2 obtenemos el mtodo de dos pasos y orden tres + h (t*+i , y*+i) - 2Vf (t*+i , y*+i) - l2v2f (t*+i , y*+i^ yi+i = yi + h h = yi + 12 (5f (ti+i, yi+i) +8f (ti, yi) f (ti-i, yi-i)). A la hora de aproximar yi+i, dmonos cuenta de que si definimos

IO

G(

y*+i) = y* + hX Y]V f y*+i), j=o p = y* + hX j (t*+i-j, y*+i-j), j=0

54

M TODOS

MLTIPASO

por lo que ||G(y) G(z)|| = h|$|||f(ti+1, y) f(t*+i, 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|/?S|L < 1.

3.5

Estabilidad de los mtodos multipaso lineales


f y0 = f(t,y), 1 y(t0) = yo, y sean tf > t0, y h = 0. Sea yi+1 la aproximacin de y(tt+1; t0, y0) dada por el mtodo multipaso pp yi+1 = Y ajyi_j + h Y bjf (ti jh, yi_j), j=0 j=0 (3.3)

Sea y(t; t0, y0) la solucin del problema de condiciones iniciales

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 f y0 = o, 1 y(o) = yo, con lo que el mtodo multipaso queda como
p y

i+i ^ ] j i_j, j=0

a y

o equivalentemente
y

i+1 a0yi a1yi_1 ... apyi_p = 0, que es una ecuacin

en diferencias lineal cuyo polinomio caracterstico es p(A) = Ap+1 a0Ap ... ap. Por la condicin de convergencia local, sabemos que
p

P(1) = 1

j=0

Y1 aj =0,

55

M TODOS

MULTIPASO

por lo que 1 es solucin particular de la ecuacin en diferencias. Dicha ecuacin, ser entonces estable si las restantes raices de p(A) 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
z1

+1 = z2. z2+1 = z3,

zp

+1 = zp+1.

I zp+11 = ;=0 a-zp-j+1 + h p=-1 bjf(t, - jh, zp-j+1 ), donde zp--^1 = y,-j-, j = 0 , 1 , p . Matricialmente lo escribimos como

( z1
z2 z

+1

/ 0 0 0 V 0
d

1 0 0 1

0 1 0 2

... 0 ... 0 ... 0 ... p


a

0 \ 0 1 -1 0 0 / 1 0 0 1 0 1 0

z*1 z**2

\ +h

0 0

*+1
.. . z *p

z^1 V z^^i1 y Si la matriz

\ zp1 )
+ 0 0 0

\ Ep=-1 bj f (t* 0 \ 0 1 -1 p

jh, z p+1j+1 ))

A= 0 \0 tiene radio espectral p(A) = max {j^j : ^ valor propio de A} = max {j^j : p(^) = 0} < 1, entonces si b-1 = 0, el mtodo multipaso verifica las condiciones del teorema de convergencia global, por lo que si el mtodo es estable de orden local de truncamiento O(hk+1), entonces ser convergente de orden O(hk+1). Si b-1 = 0, la estabilidad tambin implica la convergencia, aunque la demostracin sale fuera de los contenidos del curso. Si consideramos el mtodo del ejemplo inicial,
d

d p

y*+1 = -4y* + 5y*-1 + 4hf (t*. y,) + 2hf (t* - h, y*^). vemos que p(A) = A2 + 4A 5, que tiene por races 1 y 5, por lo que el mtodo no es estable, y de ah su divergencia. Para conseguir un mtodo convergente, hemos de imponer que el orden local de truncamiento sea una unidad menor, esto es, quedarnos con las ecuaciones

ao + ai = 1,

i + bo + bi = 1 i = 1,

a 2b

56

M TODOS

MLTIPASO

que nos da el conjunto uniparamtrico de soluciones o = -2^, i = 1 + 2^, bo = 2 + ^, bi = ^, que da lugar a la familia de mtodos yi+i = 2^yi + (1 + 2^)yi_i + (2 + ^)hf (ti, yi) + ^hf (ti_i, yi_i), con polinomio caracterstico p(A) = A2 + 2^A (1 + 2^), que para ser estable de cumplir que 1 < 1 + 2^ < 1, o equivalentemente

^ e R,

1 < ^ < 0,

y eligiendo ^ = 0, obtenemos el mtodo yi+1 = yi_i + 2hf (ti, yi), conocido como la regla del punto medio. Es obviamente estable ya que p(A) = A2 1, cuyas raices son 1.

3.6
0,

Frmulas BDF
Las frmulas BDF se basan en la utilizacin del polinomio interpolador en los puntos yi+1_j, j = 1, ...,p, h =
tf t0

, de la solucin aproximada dada por

J=' cuyo error es


E

() = ( P + P ) hp+if^+i|(t,y(t;to,yo)) + O(P+2). P

y suponemos que se verifica la ecuacin diferencial para dicho polinomio en ti+1, esto es, q0(0) = f (ti+^ q(ti+i)). Por una parte, q(ti+1) = yi+1, y por otra, dado que t = ti+1 + sh
-'() = (g (' * - j ')-y.i) s

(Y( + j 1 ' Vj ds \ ^ 1 j
-1

= X -il ( ' + j

) "y-

57

MTODOS MLTIPASO

Como

('+j

')

(s

')(s + j - 2)...(s + ')


j

= gj(s)

se tiene que

gj (0) = {

(jl: = 1 si j > 0, J 1 J j 0 si j = 0,

de donde Vj y+i = hf (i+1, yi+1),


j

j=i que se conocen como las frmulas BDF. Por ejemplo, si p = 2, 11 hf (ti+i, yi+i) = X -V yi+i = Vyi+i + - V2yi+i j=i j 2
j

1 . = yi+i yi + 2 (yi+i 2yi + yi-i)


3 o 1 = 2 yi+i 2yi + 2 yi-l,

y como vemos es de dos pasos. Como estos mtodos son implcitos, de igual manera que pasaba con los mtodos de Adams implcitos, el tamao de paso h debe ser elegido para que el mtodo iterativo sea convergente con constante de Lipschitz menos que uno. En cuanto al error de truncamiento local, puede probarse que es de orden O(hp+i).

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 y*+i = -4y + 5y_i + 4hy + 2hy_i, y como corrector, consideramos de entre la familia yi+1 = aoyi + aiy*_i + hb_if (ti + h, yi+i) + hbof (, y) + hbf (t - h, y_i), dados por el sistema (3.4)

ao ' A ai = A, t b_i ij A, A G R. i2 bo = 2 - 3A, bi = -ii2 + 5A,

58

M TODOS

MULTIPASO

Para obtener un mtodo convergente, calculamos las raices de p(t) = t2 + (A 1)t A, que son 1 A y / (1 A)2 + 4A 2 1 A ^(1 + A)2 _ 1 A (1 + A)

t=

que nos da 1 y A como soluciones, por lo que el mtodo con A = 0, dado por 5 2 1 yi+1 = yi + h f (ti + h, y*+i) + h 3 f (ti, yi) h f (ti h, y-i), ser convergente. Un esquema para aplicar estos mtodos sera el siguiente: yi. Predecimos el valor de y2 por y? con el mtodo (3.4). Como el error local es de orden 4, esta aproximacin ser de este Como el mtodo es de orden 2, utilizamos un mtodo de RungeKutta de orden 3 para estimar (3.5)

orden. Mejoramos la aproximacin anterior calculando y2 con el mtodo (3.5), tomando como punto inicial para hacer las iteraciones el punto y|. 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
Nota: En los siguientes ejercicios, denotaremos por fn = f (tn,yn).

59

M TODOS

MLTIPASO

1. Deducir el desarrollo de la serie de potencias centrado en 0 dado por (1 X)a = (1)"( ,)X n=0 Utilizarlo para obtener los coeficientes de los mtodos de Adams explcito e implcito para distintos pasos. Para ello darse cuenta que
CO

y elegir a, 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 '0 = t y y0, y(2) = 1.23, y0(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 y00 = 2y0 + 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) = y0(0) = 0, y los datos en t = 0.1 que se obtienen con el mtodo de Taylor de orden tres. 5. * Sea el esquema y (1 + a)y_i + ay_2 = ((5 + a)/ + 8(1 a)/_i (1 + 5a)/_2. (a) (b) Estudia en funcin de a convergencia y orden del mtodo. Elige el mtodo de mayor orden e integra con h = 0.1 el problema y0 = t 5y, y(0) = 1 en el intervalo 0 < t < 0.3, inicializando con un mtodo de un paso del mismo orden que el mtodo multipaso. 6. * Estudia para qu valores de a es estable el esquema yn (1 + a)yn_1 + ayn_2 = h/n_1. 7. * Estudia en funcin de a y b el orden de convergencia de yn yn_1 = h(a/n_1 + b/n_2). 8. * Aplica el mtodo de Adams explcito de segundo orden al problema y0 = t + 2y con h = 1/4 para aproximar y(1), partiendo de las condiciones exactas y(0) = 0, y(1/4) = 3/8 + (1/4^v/e. 4h 9. * Se considera el mtodo multipaso yn = yn_4 + --------------- (2/n_1 /n_2 + 2/n_3). 3 (a) (b) Estudia convergencia y orden del mtodo. Se considera la ecuacin y0 = 4e0 8t y/2. Utiliza este mtodo con h = 1 para aproximar y(4) partiendo de los datos y(0) = 2, y(1) = 6.1946, y(2) = 14.8439, y(3) = 33.6771. 10. * Considera la familia de mtodos yn = yn_1 + h(a/n + (1 a)/n_1). (a) Estudia la convergencia y el orden en funcin de a.
h

60

M TODOS

MULTIPASO

(b) (c) 11.

Para a = 1/2 resuelve el problema y' = 10y, y(0) = 1 calculando yn en trminos de n y h. Estima el error local tras dar un paso con dicho algoritmo.

* Construye los mtodos multipaso yn + a1yn-1 + a2yn-2 = h(^ 1fn-1 + @ 2fn-2) consistentes de orden al menos dos y discute su estabilidad. Elige alguno convergente con a1 =0 y resuelve el problema y' = y2 + 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


(a) y

n yn-2 = 3(7 fn_1 2 fn-2 + fn-3)


h

(b)

yn yn-2 = 2^(9 fn_1 + 19 f_2 + 5 fn_3 + fn-4)

13.

* Dado el mtodo lineal multipaso yn (1 + a)y-1 + ayn-2 = 2 (a) (b)


h ((3 a)f

n-1 (1 + a)fn-2)

Estudia convergencia y orden para a = 0 y a = 5. Si alguno de los mtodos anteriores converge salo para integrar numricamente la ecuacin y' = 4ty1/2, y(0) = 1 en el intervalo 0 < t < 0.6 con h = 0.2 e inicializando con un mtodo de RungeKutta orden 2.

14.

* Se quiere aproximar la solucin en t = 0.4 de la ecuacin y'(t) = t + ey(t) con la condicin inicial y(0) = 0. a) Da dos pasos con h = 0.1 con el mtodo de Taylor de orden 3 para aproximar y(0.1) e y(0.2).

b) A partir de los datos anteriores aproxima y(0.3) e y(0.4) con el mtodo de Adams explcito de k = 3 pasos.

15.

* Se considera el mtodo multipaso


y

/g 4 8 n = yn-4 + h ( 3 fn-1 3 ' fn-2 + 3 ' fn-3 j .

a)

Estudia la estabilidad del mtodo.

b) Estudia el orden de consistencia del mtodo. 16. * Se considera el sistema de ecuaciones x'(t) = t + z(t) z'(t) = x(t) z(t) Aproxima (x(2.03),z(2.03)) aplicando dos pasos con h = 0.01 del mtodo de Adams explcito de orden dos. Para inicializar el mtodo utiliza la condicin inicial (x(2),z(2)) = (1,2) y el dato extra (x(2.01),z(2.01)) = (1.04015, 2.02051).

61

M TODOS

MLTIPASO

17.

* Encuentra a y b para que el mtodo multipaso yn = yn-2 + h(a fn-i + b fn-2) 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 y0(t) =t + y(^ y(2) = 1. a) Aproxima y(2.01) e y(2.02) con el mtodo de Taylor de tercer orden y h = 0.01.

b) Aproxima y(2.03) e y(2.04) tomando h = 0.01 para el mtodo de Adams explcito de tercer orden. Realiza la inicializacin con los valores obtenidos en el apartado anterior. 19. * Encuentra a y b para que el mtodo yn = yn-2 + h (a + b fn-3) sea consistente del orden lo ms alto posible. ?Es estable ese mtodo? ?Es explcito? ?De cuntos pasos es? 20. * Se quiere resolver el problema de primer orden y0(t) =t 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 yn-i + b yn-2 = h c 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

Problemas de contorno en ecuaciones diferenciales ordinarias

Los problemas de contorno que vamos a tratar proceden de ecuaciones diferenciales de orden dos de la forma

y'' = f (,y,y/), y(a) = a y'(b) = ,

donde a, b, a, 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

M TODOS

EN DIFERENCIA S FINITAS

estudio del primer tipo. Consideremos por ejemplo el problema

i
la solucin nica Sin embargo el problema

y" = -y, y(0) = 3, y(n/2) = 7, que como sabemos tiene por solucin general y(t) = A cos t + B sin t.

Imponiendo las condiciones de contorno obtenemos que A = 3 y B = 7, por lo que el problema tiene y (t) = 3 cos t + 7 sin t. ' y" = y,

no puede tener solucin puesto que A tendra que ser 3 y 7, y el problema

{ i

y(0) = 3, y(2n) = 7,

y(0) = 3 y(n) = 3 tendra infinitas soluciones de la forma y(t) = 3 cos t + B sin t.

Como vemos, el tratamiento de estos problemas es notablemente ms complicado que los que conocemos de condiciones iniciales. El resultado ms general sobre existencia y unicidad de soluciones es el siguiente. Theorem 3 Sea el problema de condiciones iniciales lineal

i
de contorno tiene solucin nica.

y" = p(t)y0 + q(t)y + f (t) y(a) = a y(b) = A

donde a<b y las funciones p(t), q(t) y / (t) son continuas en [a,b] siendo q(t) > 0 para todo t e [a,b]. Entonces dicho problema

No vamos a demostrar este resultado, sino que vamos a ver cmo podemos obtener una solucin aproximada mediante el mtodo de diferencias finitas. Para ello tomamos una particin de [a, b] por los puntos ti = a + ih, i = 0,1, ...,n + 1, donde el tamao de paso es como de costumbre h = n+i. Aproximamos la derivada en los puntos de la malla de la siguiente manera. Dado i e {1, 2,...,n}, tomamos las aproximaciones de la primera derivada como

y0 ((i) ' y<fi+-)- W ,

(4.1)

y0(() ' y(ti_i)

Viti)

(4.2)

64

M TODOS

EN DIFERENCIA S FINITAS

y a partir de stas, obtenemos las aproximaciones de la segunda y primera derivada con un error O(h2) de la siguiente forma. Multiplicando (4.1) y (4.2) por 1/2 y sumando ambas expresiones

y(t) ~ y(t+i) - y(t*-i) y(,) - 2h


Por otra parte, y//(t.) y (ti

' +i)h- y'(t,)

y(t)-y(t+1) y(t-i)-y(t) ~ -h ______________________-h h

^ i+1
-

y(t

) 2y(t )

i + y(ti-1) h2

Veamos que efectivamente se trata de aproximaciones de orden dos. Para ello supongamos que y(t) es suficientemente derivable y obtenemos y(ti+i) = y(ti + h) = y(ti) + y' (t*)h + 2 y''(,)h2 + O(h3), e y(*-i) = y(* - h) = y(ti) - y'(ti)h + 2y''(,)h2 + O(h3).

Sustituyendo en la expresin para la primera derivada, vemos que y(t ) y(*+i) y(t*-i) y (ti) 2h se reescribe como
y(t)

y(t) + y'(t*)h + 2y''(*)h2 - (y(*) - y'(*)h + iy''(*)h2) + O(h3) /n(h2) y (*) 2h = O(h ).

De igual manera se justifica la aproximacin para la segunda derivada. Introduciendo estas aproximaciones en la ecuacin diferencial y''- p()y'- q()y - f () = o, obtenemos que
y

(t,+1) - yfe) + y(i,_i)

- p((i)y(i,+1)- y(t,_,)

- q((i)y(ii) _ f (i) = o,

y una vez multiplicado por h2, se reescribe como y(*+i) - 2y(i) + y(*-i) - hp(ti)[y(i+i) - y(*-i)] - h2[q(t)y(t) - f (t*)]0,

que simplificado
y(

i+i) ^ - h^ - y(*) (q()h2 + 2) + y(i-i) ^ + h^(,^ ^ = h2f (*)

65

M TODOS

EN DIFERENCIA S FINITAS

para i = 1, 2,..., n. Sustituyendo los valores y(ti) por yi, siendo y0 = a e yn+i = fl, encontramos

i+i ^1 ^2^ yi (2 + q(ti)h2) + yi-^1 + ^2^ = h2f(i),

donde i = 1, 2,..., n, que nos proporciona la aproximacin al problema de contorno. Puede expresarse de forma matricial como

A y = b, donde

(4.3)

( (2 + q(i)h2)
1+h P 2 2 A=
(t )

p(*i) 1 - h 2 (2 + q(2)h2 1 + h ^ 0

0 P(t2) (2 + q(t3)h2) 2 0 0 (2 + q(-i)h2) 1 h p(t2-l) 1+h


p(t )

0 0 0

0 0

0 0

n 2

(2

+ q(tn)h2) /

/ yi \ y2 y= \ yn /

y / h2f (ti) - ^1 + hyo ^ h2f (2) b= h2f (n-i) y h2f (tn) ^ h^2^ yn+i y En cuanto a la convergencia, puede enunciarse el siguiente resultado. Theorem 4 En las condiciones del Teorema 3, el sistema lineal (4.3) tiene solucin nica siempre

que h < 2/M donde M = max{|p(t)| : t [a,b]}. Adems, si la solucin de la ecuacin es de clase
C , entonces el error de la aproximacin es O(h2).
4

Podemos mejorar la convergencia usando como de costumbre la extrapolacin de Richardson, pues su desarrollo del error as lo permite. Veamos cmo aplicamos este mtodo al problema

{
cuya solucin exacta es

y" = y, y(o) = 0, y(1) = 1,

y(t) =

e 1 e
2

(e-t e*)

66

M TODOS

EN DIFERENCIA S FINITAS

Para n = 10 y t las matrices del mtodo son 243 121 1 1 0 0 0 0 0 0 0 243 121 0 1 1 0 0 0 0 0 0 243 121 0 0 1 1 0
1

00 00 00 243 121 10 3 1 3 2 2 1 1 21

0 0 0 0 0 1 1 0 0 243 121

0 0 0 0 0 0 1 1 0 243 121

0 0 0 0 0 0 0 1 1 243 121

0 0 0 0 0 0 0 0 1

1 0 0 A= 0 0 0 0 0 0
y

0 0 0 0

01 00 00 00

/ -1 \

24 3 12 1

0 0

b=

0 0 0 0 0

0 10 / 11cmo / Mostramos en la Figura 4.1 los valores obtenidos. Con n = 500, vemos el error decrece el la Figura 4.2.

4.3
4.3.1

Ecuaciones en derivadas parciales


Clasificacin de ecuaciones de segundo orden lineales
d 2u
du

Como sabemos, una ecuacin en derivadas parciales de orden dos es una expresin de la forma d 2u d 2u du a(t,y) + b(t,y) do-y + c(t,y) ^ + d(*,y) ^ + e(t,y) ^ + f (t,y)u = g(t,y),

donde a, b, c, d, e, f, y g son funciones definidas en conjunto fi C R2 y u(t, y) es una funcin incgnita a determinar. Si g(t,y) = 0 para todo (x,y) fi, la ecuacin se dice homognea, siendo no homognea en caso contrario. Las ecuaciones se clasifican en tres grandes tipos a partir de su discriminante A(, y) = b(, y)2 - 4a(, y)c(t, y). Diremos que la ecuacin es: Hiperblica si A(t, y) > 0 para todo (x,y) fi.

67

M TODOS

EN DIFERENCIA S FINITAS

\oS7

.crae a.oa^ .QQ4 o. osa Q Q02

/
j

\/

\7 / y
4 ^

B 10

Figura 4.1: Para n = 10 representamos la solucin aproximada (esquina superior izquierda), solucin exacta (esquina superior derecha) y el error producido en los valores intermedios (abajo).

68

M TODOS

EN DIFERENCIA S FINITAS

Parablica si A(t,y) = 0 para todo (x,y) fi. Elptica si A(t, y) < 0 para todo (x, y) fi.

Ejemplos clsicos de cada uno de estos tipos son la ecuacin de ondas (hiperblica)

d2u 2 d2u --- = c2 ----dt2 dy2, la ecuacin del calor (parablica) y la du d 2u =k dt dy ecuacin de Laplace (elptica) d2u d2u dx2 dy2 En este ltimo caso, las dos variables x e y son espaciales, mientras que en los dos casos anteriores son temporal y espacial, respectivamente. Vamos a ver cmo trabajar con diferencias finitas para obtener una aproximacin de las ecuaciones anteriores. Para ello, consideraremos el caso en que fi = [a, b] x [c, d], es decir, un recinto rectangular. Establecemos un mallado del recinto a partir de los puntos ti = a + ih para i = 0,1,..., n + 1, siendo h = n_T el tamao de paso para la variable t e yj = c + jk, j = 0,1, ...,m + 1, siendo k = mm+Y el tamao de paso para la segunda variable. Consideramos las frmulas de aproximacin de las derivadas siguientes:
du (t ) u(t

+ = .

i+i,yj) u(ti,yj) dt(ti,y) ' h , du

u(t ,

i yj+i)

u(t ,

i yj

dy(i,yj) que tienen rdenes O(h) y O(k), respectivamente y

du (t ) u(ti+i,yj) u(ti_i,yj) dt
(ti,yj)

' 2h , du (t ) u(ti,yj+i) u(ti,yj_i) ' 2k


,

dy(ti,yj) que tienen rdenes O(h2) y O(k2), respectivamente.

A su vez, para derivadas parciales de segundo orden d2u


)

u(ti+i ,yj) 2u(ti,yj)+ u(ti_i,yj) dt2 k2

(ti,yj)

' h2

d2u

(t )

u(ti,yj+i) 2u(ti,yj)+ u(ti,yj_i) dy2(ti,yj) ' de rdenes O(h2) y O(k2), respectivamente. Finalmente d2u dtdy(ti,yj) = dy dt(ti,yj) d du

69

M TODOS

EN DIFERENCIA S FINITAS

^ di (t*,yj+1) dt (t*,yJo 2k u(ti+i ,yj+1 )-u(t-i,yj+i) u(t+i,yj-i)-u(t-i,yj-i) ^ ______________________________ 2h__________________________ 2h ______________________ _ 2k _ u(ti+1,yj+1) - u(ti-1,yj+1) - u(ti+1,yj-1) + u(ti-1,yj-1) ' 4kh de orden O(h2 + k2). 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(tj,y,) por un valor u*, que ser una aporximacin de la solucin en el punto (tj,y,). Veremos cmo se procede con los distintos tipos de ecuaciones.

4.3.2

Ecuacin del calor


du 82u dt dy2

Consideremos la ecuacin del calor

y dmonos cuenta que el cambio de variable s = kt hace que sta se escriba como

du du ds du d2u
dt ds dt ds dy2 o equivalentemente

du d2

ds dy2
por lo que consideraremos el problema = 0, t> 0. 0 < y < 1, u(t, 0) = 0, u(t, 1) = 0, t > 0, u(.y) = f(y), 0 < y < 1. Elegimos tamaos de paso fijos h y k = 1/m y tomamos la malla y = ik, i = 0,1,..., m,

tj = jh, j = 0,1,..., n. Discretizamos la ecuacin % = l2^ como dt dy2 u(ti+1,yj) - u(ti,yj) = u(ti,yj+1) - 2u(t,yj) + u(ti,y,-1) h = k2 :

que, cambiando u(tj,y,) por el valor aproximado ui;j queda de la forma


u i+1,j ui,j ________ ui,j+1 h = k2 , 2u

i,j + ui,j1

70

M TODOS

EN DIFERENCIA S FINITAS

de donde
1-

2h k? ' U

h +2 tit uu_ k

para i = 0,1,n 1 y j = 0,1,..., m 1. Adems, dado que


u

(0,y- ) = Uo,j = f (yj ^ j = 1, 2,...,m, y de u(t, 0) = 0,


u

u(t, 1) = 0, t > 0,

i,0 i,m i 1, 2,...,n.

El trmino r = h/k2 se conoce con el nombre de constante de Courant y matricialmente se escribe como Ui+1 = A Ui, i = 0,1,..., n 1,

donde

( 1 2r
r 0 A= 0 0 0

r 1 2r r 0 0 0

0 r 1 2r 0 0 0

0 0 0 1 2r r 0

0 0 0 r 1 2r r

0 0 0 0 r 1 2r y

(u
u
U

i \ i,m-1 /
u

( f (V1) \
f(

V2)

uo = \ / m-1 / Como ejemplo, consideremos el siguiente problema i = sf - t> v e (0,1),


s
(y )

u(0, )

v = y2 v, v e (0,1), u(t, 0) = u(t, 1) = 0, t > 0. Tomando el tiempo t e (0,1] y n = 1000 y m =10, tenemos que la matriz 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 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 0.1 O 0 0 0 0 0 0 0 0. 1 8
.

Q O . A=
0

0.1 0 0 0 0 0 0
0

y la Grfica 4.3 nos muestra la solucin aproximada para la malla que hemos elegido.

71

M TODOS

EN DIFERENCIA S FINITAS

Figura 4.3: Solucin aproximada para la ecuacin del calor mediante un mtodo en diferencias finitas explcito.

Estabilidad y convergencia del mtodo.

Dado que la evolucin natural para la temperatura de la barra que estamos considerando es que la temperatura de la misma tienda a cero, el mtodo numrico debe cumplir que

lim Ai ui = 0. i

Para ello hemos de analizar los valores propios de la matriz A = Im-1 + rB, donde

2 1 0 B 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

Los valores propios de dicha matriz son de la forma A = 1 + r^, donde ^ es valor propio de B. Si = jmm, entonces los valores propios de B son 2cos0j 2, j = 1, 2, ...,m 1. Para comprobarlo, consideramos los vectores

Vj = (sin , sin(20j),..., sin((m 1)0j)), j = 1,..., m 1,

72

M TODOS

EN DIFERENCIA S FINITAS

y calculamos 2 1 0 0 0 Vo 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(6 )

j \

sin(26j) sin(36j) sin(i6j )

\
i
s in (

2sin(6j ) + sin(26j ) sin(6j ) 2sin(26j ) + sin(36j ) sin(26j ) 2sin(36j ) + sin(46j )

sin((i 1)6 j ) 2sin(i6j ) + sin((i + 1)6j ) y sin((m 2)6j ) 2sin((m 1)6j ) y Como

2sin(6j) + sin(26j) = (2cos 6j 2) sin(6j),

(2 cos 6j 2) sin(i6j) = 2sin(i6j) + 2 cos 6j sin(i6j) = 2sin(i6j ) + 2 cos


j

(i + 1)6j (i 1)6A (i + 1)6j +(i


sin j) + sin((i 1 )6 j) + sin((i + 1

0
,3,...,n

2 sin(i6 , )6 j), i = 2

2 1 y ( 2 cos 6 j2

) sin((m 1 + = 2 sin(m6 = 2

)6 2

j) = 2 (m + 1 cos )6 )6

sin((m 1 )6 2

)6 ) sin

j) (m 6 +1 )6 j + (m 1

j (m 1 2 j ) + sin((m 2 j ) + sin((m 2

)6

sin((m 1 j) sin((m 1

)6 )6

j)+ j ),

dado que sin(m0j) = sin (n) = 0, tenemos que 2cos 0, - 2 es valor propio de B, y por lo tanto, los valores propios de A son A, = 1 + 2r(cos 0, - 1), j = 1, 2,..., m - 1. Para que se cumpla la condicin

1 < A, < 1, j = 1, 2,..., m 1, como cos

0m1 es prximo a -1, obtenemos que


-1

< Am1 < 1

73

M TODOS

EN DIFERENCIA S FINITAS

se verificar si

1 < 2r < 0,

o equivalentemente =h1r= k2 < 2, de donde obtenemos la condicin de estabilidad


h k2 < T.

Esta restriccin hace que el mtodo sea de clculo muy lento. Por ejemplo, si k = 10-2, entonces h debe ser menor que 0.5-10-4, 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 de clase C4 y h < 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

(t ,y ) u(t

u(

i j

i1 ,yj) _____________ h

u(t ,y

i j+1) 2u(ti,yj) + u(ti,yj1)


k2

de donde

i,j ui-1,j ________ h

i,j+1

2u

i,j + ui,j-1
k2

y asi
u

-1,j = rui,j-1 +(1 + 2r)ui,j rui,j+1

siendo r = h/k2. De forma matricial obtenemos Ui = A' Ui+i, siendo ui, i = 0,1,..., n 1 como en el caso anterior y

/1+ 2r -r 0 A= 0 0

-r 1+ 2r r

0 -r 1 + 2r 0

0 0 0 1 + 2r

0 0 0 r

0 0 0 0

0 0

0 0

r 1 + 2r r 0 r 1 + 2r y

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 A son

(9 j Aj = 1 + mr sin2 = 1, 2 ......... m 1.

74

M TODOS
Todos son positivos y mayores que uno. Como los valores propios de (A0)-1 son , j = 1, 2,

EN DIFERENCIA S FINITAS

1, se tiene que todos son positivos y menores que uno, por lo que el mtodo siempre es estable, independientemente del valor de r. Es lo que se llama un mtodo incondicionalmente estable. En este caso tambin el error es de tipo O(h + k2) bajo condiciones de regularidad de la solucin anlogas a las del caso explcito, pero la estabilidad del mtodo es mayor. A modo de ejemplo, consideremos la ecuacin anterior

f = w t>-y6(-1)u( , )

0 y = -y2 - y, y 6 ( ^ u(t, ) = u(t, 1)

= , t > . Tomando el tiempo t 6 (0,1] y n = 1 y m = 1, tenemos que la matriz

21 -1

-1 21 -1

-1 21 -1

-1 21 -1

-1 21 -1

-1 21 -1

-1 21 -1

-1 21 -1

-1 21

A =

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.

Acerelacin de la convergencia. Mtodo de CrankNicholson. Este mtodo se basa en promediar


u

i,j ui1,j _______ ui 1,j+1


h = ________ k
2,

2u

i1,j + ui1,j1

con
u

i,j ui1,j ui,j+1


h=

2u

i,j + ui,j1 k2 ,

obtenindose
u

i,j ui1,j ______


h = 2\ k2

(ui1,j+1 2ui1,j + ui1,j1 . ui,j+1 2ui,j + ui,j1 \


+ k2 y

Agrupamos de forma conveniente como


u

i,j 1 ui,j+1 2ui,j + ui,j1 ________________ ui1,j 1 ui1,j+1 2ui1,j + ui1,j1


h 2 k2 h 2 k2 +

75

M TODOS

EN DIFERENCIA S FINITAS

Figura~4.4: Aproximacin de la ecuacin del calor mediante el uso de un mtodo implcito.

o equivalentemente, si r = h/k2, r
u

r *,j - 2(ui,,+1 - 2u*,J + u,J1) = u1,, + ^ (u1,,+1 - 2ui1,, + ui1,,1),

que en forma matricial es de la forma A ui+1 = B Uj, i = 0,1,..., n - 1, donde 1+r -r/2 0 A= 0 0 0
y

-r/2 1+r -r/2 0 0 0 r/2 1-r r/2 0 0 0

0 . .. 0 -r/2 . .. 0 1 + r . .. 0 0..1+r 0 . .. -r/2 0 . .. 0 0 .. .0 r/2 .. .0 1 - r .. . 0 0 .. . 1 - r 0 .. . r/2 0 .. .0

0 0 0 -r/2 1+r -r/2 0 0 0 r/2 1-r r/2

0 0 0 0 -r/2 1+ry

1-r r/2 0 B 0 0

0 0 0 0 r/2

1-ry

Queda fuera de los contenidos del curso demostrar que este mtodo es convergente y de orden

76

M TODOS
O(h2 + k2). A modo de ejemplo, consideramos el problema anterior f = sy. t> 0. y e (0.1). u(0, y;> = y2 y, y e (0,1), u(t, 0) = u(t, 1) = 0, t > 0. Tomando el tiempo t e (0,1] y n = 10 y m = 10, tenemos las matrices 11 5 0 0 A= 0 0 0 0 0
y

EN DIFERENCIA S FINITAS

5 11 5 0 0 0 0 0 0 5 9 5 0 0 0 0 0 0

0 5 11 5 0 0 0 0 0 0 5 9 5 0 0 0 0 0

0 0 5 11 5 0 0 0 0 0 0 5 9 5 0 0 0 0

0 0 0 5 11 5 0 0 0 0 0 0 5 9 5 0 0 0

0 0 0 0 5 11 5 0 0 0 0 0 0 5 9 5 0 0

0 0 0 0 0 5 11 5 0 0 0 0 0 0 5 9 5 0

0 0 0 0 0 0 5 11 5 0 0 0 0 0 0 5 9 5

0 0 0 0 0 0 0 5
11

9 5 0 0 B 0 0 0 0 0

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

t>0 0<y< 1 < u(t, 0) = 0, u(t, 1) = 0, t > 0, l (0,y) = f(y), fu


0

(0,

y)=

<y<

77

M TODOS

EN DIFERENCIA S FINITAS

Figura 4.5: Aproximacin de la solucin por el mtodo de CrankNicholson para n = m = 10.

Figura 4.6: Aproximacin de la solucin por el mtodo de CrankNicholson para n = m = 100.

78

M TODOS

EN DIFERENCIA S FINITAS

Elegimos tamaos de paso fijos h = 1/n, y k y tomamos la malla y = ik, i = 0,1,..., m, tj = jh, j = 0,1, ...,n. Discretizamos la ecuacin como u(*+i,y) - 2u(ti,yj) + u(ti-i,yj) u(,yj+i) - 2u(t,yj) + u(ti,y1) h2 que, cambiando u(,yj) por el valor aproximado ui;j queda de la forma
u

k2

i+1,j 2ui,j + ui1,j ui,j+1


h2

2u

i,j + Ui,j 1
k2

de donde 2 / 2 \ 2 Ui+1,j = r u,j+1 + 2 (1 - r ) u;j + r u;j1 - u1,j,

para i = 0,1,..., n - 1 y j = 0,1,..., m - 1, donde r = h/k, que en forma matricial se escribe Ui+1 = A Ui
-u

i^

(4.4)

siendo

/ 2(1 - r2)

r2

0 ...

r2

2(1 - r2)
r2

r2 ... 2(1 - r ) ... 0 ... (


2 1 2

0 0
. ..

0 0
r2 2

0 0 0
2

0 A= 0 0
0

0 0 0

) r

0 ... 0 ...

r2

) r -

r2

2(1- r2)

y Uj como en el caso de la ecuacin del calor. Por las condiciones de frontera


u

i,0 ui,m i 1,...,n.

Adems, por las condiciones iniciales obtenemos en primer lugar uo,j = f(y), j = 1,...,m- 1, pero dado que el esquema (4.4) es de dos pasos, hemos de obtener u1 con una aproximacin de orden dos O(h2). Por las aproximaciones de las derivadas u(t1,yj) u(0,y,-) Bu. . h d2u, . ,/,2\ ( J ( jJ h = m<a> + 2ww)+O(h'2)' junto con la aproximacin de orden dos f //(yj) ' f (yj+1) - 2f (y) + f (yj1) j k2

79

M TODOS

EN DIFERENCIA S FINITAS

Dado que (0,y-) = |y2(0,yj) = f''(y-), aprovechamos la aproximacin anterior para calcular
u

(i>y) - u(0,y-) h

= g(y-

hf (

yj+i) - 2f (y-) + f (yj-i) 2 k2 :

de donde
u

i,j = 2 yj-i +

f(

(1 - r2)f(

y- + yj+i + g y-^

f(

h (

j1

,m -1

22 r

que nos proporciona el valor ui 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 SU = 0, t> 0. 0 < y < 1, u(t, 0) = 0, u(t, 1) = 0, t > 0, u(o,y) = -y2 + y, f (0,y) = 2y, 0 <y< 1, y tomado el tiempo en (0, 5], n = 100 y k = 10, tenemos que la matriz 1.5 0.25 0 0 A= 0 0 0 0 0 0.25 1.5 0.25 0 0 0 0 0 0 0 0.25 1.5 0.25 0 0 0 0 0 0 0 0.25 1.5 0.25 0 0 0 0 0 0 0 0.25 1.5 0.25 0 0 0 0 0 0 0 0.25 1.5 0.25 0 0 0 0 0 0 0 0.25 1.5 0.25 0 0 0 0 0 0 0 0.25 1.5 0.25 0 0 0 0 0 0 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


du

/. \ ui+i,j 2ui,j + Ui-i,j -(t*,y) -- ,j ,j 2 dt

h
i

d2u (t y ) ^ 1 u+i,j+i - 2u+i,j + ui+i--i + u-i,j+i - 2u-i- + u-1,-dy2 (ti,y- ) - ^ donde si denotamos por s = k/h, podemos escribir
2s2(u

k2

k2

i+i,j 2u- + ui-i-) = u+i,j+i 2u+i,j + ui+i,j-i + ui-i,j+i 2u-i- + ^i-i--^ que agrupado convenientemente

i+i-+i + 2(s2 + 1)ui+i,j ui+i--i = 4s2u,j + ui-i,j-i 2(S2 + 1)ui-i,j + ui-i,j-i

80

M TODOS

EN DIFERENCIA S FINITAS

Figura 4.7: Aproximacin del problema de la ecuacin de ondas con la malla elegida.

que en forma matricial es

A Ui+i = 4s2Ui + B Ui-i,

donde

( 2(s2 + 1)
1 0 A= 0 0 0 y B = -A.

1 2(s2 + 1) 1 0 0 0

0 1 2(s + 1) 0 0 0
2

0 0 0 2(s2 + 1) 1

0 0 0

0 0 0 0

1 2(s2 + 1) 1 0 1 2(s2 + 1) )

Puede verse que este mtodo es incondicionalmente estable y convergente de orden O(h2 + k2). Consideramos de nuevo el problema

ftu = 0, t> 0. 0 < y < 1, u(t, 0) = 0, u(t, 1) = 0, t > 0, u(0,y) = y2 + y, (0,y) = 2 ,0 y <y< 1,

81

M TODOS

EN DIFERENCIA S FINITAS

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 k = 10, tenemos que la matriz 10 -1 0 0 A= 0 0 0 0 0 -1 10 -1 0 0 0 0 0 0 0 -1 10 -1 0 0 0 0 0 0 0 -1 10 -1 0 0 0 0 0 0 0 -1 10 -1 0 0 0 0 0 0 0 -1 10 -1 0 0 0 0 0 0 0 -1 10 -1 0 0 0 0 0 0 0 -1 10 -1 0 0 0 0 0 0 0 -1 10 )

La figura 4.8 nos muestra la solucin aproximada para la malla que hemos elegido.

4.3.4

Ecuacin de Laplace

Vamos a considerar la ecuacin de Laplace ^ = f(x y) ax2 + dy2 f ,x,w en un conjunto fi = [a, b] X [c, d], con condiciones de frontera tipo Dirichlet u(x,y) = g(x,y), (x,y) e Fr(fi). Un tratamiento similar puede hacerse para condiciones de contorno tipo Newmann

du
(x, )

dn

y = gO^y^ (x,y) e Fr(

82

M TODOS

EN DIFERENCIA S FINITAS

donde denota la derivada de u a lo largo del vector normal n = (0, 0,1) o mixta du d(x,y) + ^u(x,y) = g(x,y), (x,y) Fr(f), a, 6 R.

Centrmonos en el problema S + 0 = f(x,y), (x,y) n, u(x,y)= g(x,y), (x,y) Fr(fi), e introducimos las aproximaciones de las derivadas en la ecuacin obteniendo u(xi+1 ,y) - 2u(xi,y)+ u(x1,y) + u(xi,y+1) - 2u(x,yj)+ u(x,yj1) = f( ) h2 + k2 = f (x*,yi), que se simplifica a k2u(xi+1,yj) + k2u(xi1,yj) - 2(k2 + h2)u(x,yj) + h2u(x,yj+1) + h2u(x,yj1) = h2k2f (x,y), para i = 1,..., n y j = 1,..., m. En la frontera tenemos que u(xo,yj) u(xn+1,yj) para j = 0,1,...,m + 1, y u(xi,yo) = g(x*,yo), u(xi,ym+1) = g(x,ym+1), para i = 0,1,..., n +1. Tenemos por tanto que resolver el siguiente sistema de nm ecuaciones lineales con nm incgnitas
u

= g(xo,yj), = g(xn+1,yj),

i+1,j + ui1,j 2(1 + r )ui,j + r Ui,j+1 + r ui,j1

hf

con
u u

o,j = g(xo,yj),

n+1,j = g(xn+1 ,yj),

para j = 0,1,...,m + 1, y Ui,o = g(xi,yo),


u

i,m+1

g(x ,y

^ m+1),

para i = 0,1,..., n +1. Puede comprobarse que existe solucin nica y con las suficientes condiciones de regularidad de la solucin, proporciona un mtodo convergente de orden O(h2 + k2).

83

M TODOS

EN DIFERENCIA S FINITAS

4.4

Ejercicios
u(x + 2h) + 16 u(x + h) 30 u(x) + 16 u(x h) u(x 2h)
u (x)

1. * Prueba que si u(x) C6(R) entonces


4

= 12h +

h)

2. * Resuelve los siguientes problemas de contorno lineales mediante el mtodo en diferencias centrales (a) (b) (c) (d) y'' y = t, y(0) = 0, y(1) = 1 para h = 0.25. y'' y = 1, y(0) = y(3) = 1 para h = 0.5. y'' + y = e*, y(0) = y(1) = 0 para h = 0.25. y'' y = 2, y(0) = y(1) = 0 para h = 0.25. razona el motivo. (f) y'' + (t/2 3/2)y' y = 0, y(0) = y(6) = 11 para h = 1. Compara el resultado numrico con la solucin analtica y(t) = t2 6t + 11. 3. Se considera la ecuacin del calor en una dimensin u* = uxx junto con la condicin inicial u(x, 0) = e-x 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 u* = uxx 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.

(e) y'' + y' y = t, y(0) = 1, y(1) = 2 para h = 0.25. Comprueba que la solucin numrica coincide con la exacta, y

5. * Se considera la ecuacin del calor u* = uxx 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) (b) (c) Resuelve mediante el mtodo explcito en diferencias finitas con h = k = 1/2. Comprueba que la solucin exacta es u(x, t) = t + x2/2. 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 utt = uxx con las condiciones iniciales u(x, 0) = x2, u*(x, 0) = 0 y las condiciones frontera u(0,t) = t2, u(1,t) = t2 + 1 para 0 < x, t < 1. (a) (b) Resuelve mediante el mtodo explcito en diferencias finitas con h = k = 1/4. 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 uxx + uyy yux xuy + u = 0 tomando h = k = 0.5 y la condicin de contorno u(x, y) = x + y en la frontera de R.

84

M TODOS

EN DIFERENCIA S FINITAS

8. * Sea R el rectngulo cuyos vrtices son {(0, 0), (4, 0), (4, 3), (0, 3)}. Resuelve en el interior de R con el mtodo en diferencias finitas la EDP uxx + uy y - yux - xuy - u = 0 tomando h = k = 1 y la condicin de contorno u(x, y) = 2x - 2y en la frontera de R. 9. * Sea R el rectngulo cuyos vrtices son {(0, 0), (2, 0), (2,1), (0,1)}. Resuelve en el interior de R con el mtodo en diferencias finitas la EDP uxx + uy y + xux + yuy - u = 0 tomando h = k = 0.5 y la condicin de contorno u(x, y) = 2x - y en la frontera de R. 10. * Sea R el rectngulo cuyos vrtices son {(0,0), (4, 0), (4, 2), (0, 2)}. Resuelve en el interior de R con el mtodo en diferencias finitas la EDP uxx + uyy + uy - 2x = 2 tomando h = k = 1 y la condicin de contorno u(x, y) = x2 + 2xy en la frontera de R. 11. * Sea R el rectngulo cuyos vrtices son {(0, 0), (2,0), (2,1), (0,1)}. Resuelve en el interior de R con el mtodo en diferencias finitas la EDP uxx + uyy - yux - xuy - u = 0 tomando h = k = 0.5 y la condicin de contorno u(x, y) = x - y en la frontera de R. 12. * Se considera el problema lineal y"(t) = t y0(t) + y(t) + e* con las condiciones de contorno y(0) = -1, y(0.3) = -0.5. Aproxima la solucin mediante el mtodo en diferencias finitas de segundo orden con h = 0.1. 13. * Sea la ecuacin del calor u* = uxx, con la condicin inicial u(x, 0) = sin(x(1 - x)) para

0 < x < 1 y las condiciones frontera u(0,t) = u(1,t) = 0. Aplica el mtodo explcito en diferencias finitas para aproximar la solucin en x = 0.9, t = 0.01 tomando las amplitudes de paso espacial h = 0.1 y temporal k = 0.005. 14. * Sea la ecuacin del calor u* = uxx, con la condicin

0 < x < 1 y las condiciones frontera u(0,t) = u(1,t) diferencias finitas para aproximar la solucin en x = 0.5 paso espacial h = 0.25 y temporal k = 0.025. 15. * Se considera la ecuacin en derivadas parciales
u

inicial u(x, 0) = (x - 1) sin x para = 0. Aplica el mtodo explcito en , t = 0.05 tomando las amplitudes de

xx + uy y + y ' ux u + e 0

en el rectngulo de lados 0 < x < 0.3 y 0 < y < 0.2. Usa amplitudes de paso h = k = 0.1 y aplica diferencias finitas de segundo orden para aproximar la solucin en los puntos interiores del rectngulo, tomando como condicin inicial u(x, y) = 0 en la frontera del rectngulo.

85

M TODOS

EN DIFERENCIA S FINITAS

86

Bibliografa
[BuFa] R. Burden y J. D. Faires, Mtodos numricos, Thomson. [Dor] J. R. Dormand, Numerical methods for differential equations, CRC Press. [Ela] S. N. Elaydi, An introduction to difference equations, Springer-Verlag. [Lam] J. D. Lambert, Numerical methods for ordinary differential equations, Wiley. [VJAP] L. Vzquez, S. Jimnez, C. Aguirre y P. J. Pascual, Mtodos numricos para la Fsica y la Ingeniera, McGraw-Hill.

87

You might also like