Вы находитесь на странице: 1из 10

Tema 4

M etodos Num ericos en Ecuaciones Diferenciales Ordinarias


4.1 Introducci on

Estudiaremos en este Tema algunos m etodos num ericos para resolver problemas de valor inicial en ecuaciones diferenciales ordinarias y en sistemas de e.d.o.

4.2

M etodo de Euler

El M etodo de Euler o de las Tangentes constituye el primer y m as sencillo ejemplo de m etodo num erico para la resolucio n de un problema de valor inicial: yt = f (x, y) , y ( x 0 ) = y0

donde suponemos adem as que se verifican las hip otesis del Teorema de Picard1 , y en consecuencia existe solucio n u nica para el problema. Interpretando la e.d.o. yt = f (x, y) como un campo de direcciones en el plano x y y la condicio n inicial y (x0 ) = y0 como un punto (x0 , y0 ) de dicho plano, podemos aproximar la funcio n solucio n y (x) por medio de la recta tangente a la misma que pasa por ese punto: y (x ) = y0 + f (x0 , y0 )(x x0 )
Consideraremos en general que la funci on f (x, y ) es diferenciable en un entorno del punto (x0 , y0 ). Si bien es cierto que se trata de una condicio n m as restrictiva de lo estrictamente necesario, en la pr actica trabajaremos siempre con funciones de ese tipo.
1

59

60

TEMA 4

donde se ha utilizado que la pendiente de dicha tangente es: m = yt(x0) y, en consecuencia: m = f (x0, y0). Calculamos as de manera aproximada el valor de la solucio n y en el punto de abscisa x1 como: y (x 1 ) = y1 = y0 + f (x0 , y0 )(x1 x0 ) y con este punto (aproximado) ya calculado, podemos repetir el m etodo para obtener otro punto aproximado (x2, y2) de la forma: y (x 2 ) = y2 = y1 + f (x1 , y1 )(x2 x1 ) y as sucesivamente. Es habitual en este m etodo tomar abscisas equiespaciadas, es decir, calcular la solucio n aproximada en puntos de la forma: xn = xn1 + h = x0 + nh, siendo h el paso del m etodo. De esta forma se obtienen las f ormulas que nos determinan la solucio n aproximada en la forma: xn = xn1 + h; yn = yn1 + f (xn1, yn1) h

Desde el punto de vista geom etrico, tenemos en definitiva que el M etodo de Euler aproxima a la funcio n solucio n por medio de una l nea poligonal, la aproximacio n ser a tanto peor cuanto mayor sea en nu mero de pasos, es decir, cuanto m as lejos nos encontremos del punto inicial (x0 , y0 ). Por otro lado, el error ser a evidentemente tanto mayor cuanto m as grande sea el paso del m etodo, h. Ejemplo: Resolveremos el problema de valor inicial
. yr = x y y(1) = 4 por el m etodo de Euler con h = 0.1 para los puntos x = 1.1, 1.2, 1.3, 1.4 y 1.5. En este problema tenemos h = 0.1, (x0 , y0 ) = (1, 4) y la funcio n f (x, y ) es: f (x, y ) = x y . Por tanto: yn = yn1 + xn1 yn1 h Dado que el problema se puede resolver tambi en de forma exacta, presentamos en la tabla y gr afica siguientes los resultados:

i 0 1 2 3 4 5

xi 1 1.1 1.2 1.3 1.4 1.5

Sol. Exacta yi 4 4 4.2 4.21276 4.42543 4.45210 4.67787 4.71976 4.95904 5.01760 5.27081 5.34766

5.2 5 4.8 4.6 4.4 4.2 1.1 1.2 1.3 1.4 1.5

TODOS NUME RICOS EN EDO ME

61

4.3

M etodos de Taylor

El M etodo de Euler que acabamos de describir no es m as que un caso particular de los m etodos de Taylor, que consisten de manera general en aproximar la solucio n por su polinomio de Taylor de un orden determinado. Partiendo por tanto del P.V.I.: . yt = f (x, y) y(x0) = y0 tal que presenta solucio n u nica y(x) en un entorno de x0 (solucio n que suponemos adem as derivable n veces en dicho entorno), aproximaremos dicha funcio n por su polinomio de Taylor de orden N : 1 y ( N ) ( x x )N ttt 3 +. . . + + y ( x )( x x ) 0 0 y(x) c y (x0)+y ( x0)(xx0)+ y (x0)(xx0) 3! N! 0 2 y el error de aproximacio n viene determinado por el resto de orden N + 1, de manera que el error es proporcional a (x x0)N +1. 1
2 t tt

Si fijamos una sucesio n de puntos equiespaciados : x0 , x1 , x2 , . . ., con xn+1 = xn + h, y denominamos (de manera similar a lo hecho en la seccio n anterior) y0 , y1 , . . . a los valores paroximados correspondientes de y(x), tendremos que: y (N ) (xn)hN yn+1 = yn + y (xn)h + y (xn)h N! 2 con un error en cada paso (error local2) proporcional a hN +1. Para poder aplicar el m etodo necesitamos conocer las derivadas de la solucio n (recordemos que desconocida), pero teniendo en cuenta la propia ecuacio n diferencial:
t tt

+ ... +

yt(xn) = f (xn, yn) mientras que ytt(xn) puede ser calculada derivando: d f f dy f f ytt = f (x, y) = + = + f (x, y) dx x y dx x y y as sucesivamente. Es evidente que el m etodo de Taylor de orden uno no es m as que el M etodo de Euler antes descrito. Analicemos con un ejemplo el M etodo de Taylor de orden dos: Ejemplo: Apliquemos el m etodo de Taylor de orden dos a la ecuacio n y r = cos(xy ), con la
condicio n inicial: y (0) = 1. La expresio n a considerar ser a: 1 y(xn+1) c yn+1 = yn + y (x n)h + y rr(x n)h 2
r
2

En general se llama error local al cometido en cada uno de los pasos de un m etodo num erico. El error acumulado tras n pasos recibe el nombre de error global y si el local es proporcional a hp, entonces el global ser a proporcional a hp1 .

62
tendremos entonces: y r(x n) = f (x ,y n) = cos(xnyn) d cos(xy) sen(xy ) y sen(xy) yr = sen(xy)(y + cos(xy)) = dx Y as los primeros pasos de la resolucio n ser an (tomaremos h = 0.5): yrr = x1 y1 = x 0 + h = 0. 5 h2 2 ( sen(x0y0)(y0 + cos(x0y0))) =

TEMA 4

= y0 + h cos(x0 y0 ) + = 1 + 0.5 cos 0 + 0.5 2


2

( sen 0(1 + cos(0))) = 1.5

x2 y2

x1 + h = 1

h2 2 ( sen(x1y1)(y1 + cos(x1y1))) = 0.52 ( sen(0.5 1.5)(1.5 + cos(0.5 1.5))) = 1.67569 = 1.5 + 0.5 cos(0.5 1.5) + 2 = y1 + h cos(x1 y1 ) +

y as sucesivamente. El error local en esta aproximacio n ser a proporcional a h3 y por tanto el 2 ah. error global lo sera

4.4 M etodos de Runge-Kutta


La idea general de los M etodos de Runge-Kutta es sustituir el Problema de Valor Inicial: . yt = f (x, y) y(x0) = y0 por la ecuacio n integral equivalente: x y dy = f (x, y(x)) dx y = y0 +
y0 x0

x x0

f (x, y(x)) dx

para proceder a aproximar esta u ltima integral mediante un m etodo num erico adecuado (recordemos que y(x) es desconocida). Si nuevamente planteamos el problema paso a paso tendremos: yn+1 = yn +
xn+1 xn

f (x, y(x)) dx

4.4.1

M etodo de Runge-Kutta de segundo orden

La primera opci on que podemos aplicar es integrar mediante el m etodo de los trapecios, es decir tomando: xn+1 1
xn

f (x, y(x)) dx c

h (f (xn, yn) + f (xn+1, yn+1))

TODOS NUME RICOS EN EDO ME

63

Al ser desconocida yn+1 en la expresio n anterior, lo aproximaremos por y n+1 , donde y n+1 es la estimacio n de yn+1 que resultar a aplicando el m etodo de Euler. Tendremos as : x 1
n+1

xn

f (x, y (x)) dx c

con

h (f (xn , yn ) + f (xn+1 , y n+1 ))

y n+1 = yn + h f (xn , yn ) y llegaremos a la expresio n del m etodo: h (f (xn , yn ) + f (xn+1 , y n+1 )) 2 Lo normal es presentar el m etodo con las expresiones siguientes: k1 = h f ( xn, y n ) ; k2 = h f (xn+1, yn + k1) 1 yn+1 = yn + (k1 + k2) 2 Comparando este m etodo con el m etodo de Taylor de segundo orden, es posible demostrar que el error local es tambi en proporcional a h3 y, por tanto, el global lo es a h2. yn+1 = yn +

4.4.2

M etodo de Runge-Kutta de tercer orden

Se trata de la misma idea pero integrando por el M etodo de Simpson, entonces: xn+1 h . . f (x, y(x)) dx c 2 f (xn , yn ) + 4f (xn+ 1 , y n+ 1 ) + f (xn+1 , yn+1 ) 2 2 3 xn donde y n+1 e y n+ 1 son estimaciones, puesto que yn+1 e yn+ 1 no son conocidos. 2 2 etodo de Euler: La estimacio n de y n+ 1 se hace por el m
2

f (xn , y n ) 2 mientras que la estimacio n de y n+1 se pueden considerar varias opciones, por ejemplo: y n+1 = yn + h f (xn, yn ) es decir el M etodo de Euler de nuevo, o por ejemplo: y n+1 = yn + h f (xn+ 1 , y n+ 1 )
2 2

y n+2 1 = yn +

que consiste en variar el M etodo de Euler tomando la pendiente de la recta tangente en el punto medio en vez de la tangente en el punto propiamente dicha. Finalmente, lo m as

64 usual es tomar una combinacio n de las dos opciones3 : . y n+1 = yn + h 2 f (x 1 , y 1)


n+ 2 n+ 2

TEMA 4

f ( x n, y n )

Podemos entonces resumir el M etodo de Runge-Kutta de tercer orden en la forma: = h f ( xn, y n ) h 1 k2 = h f ( x n + , y n + k 1 ) 2 2 k3 = h f (xn + h, yn k1 + 2k2 ) 1 yn+1 = yn + (k1 + 4k2 + k3) 6 Finalmente, an adir que el error local en el M etodo de tercer orden es proporcional a 4 3 h y en consecuencia el global lo es a h . k1

4.4.3

M etodo de Runge-Kutta de cuarto orden

Los M etodos de Runge-Kutta de cuarto orden se deducen de una manera similar a la expuesta en la seccio n anterior para el caso de tercer orden. Ahora se introduce un nuevo paso intermedio en la evaluaci on de la derivada. Una vez m as se presentan varias opciones en la evaluaci on y es posible ajustar de tal manera que se garantice el error local de manera proporcional a h5 (es decir garantizando exactitud en el cuarto orden en el polinomio de Taylor), lo cual lleva a un error global proporcional a h4 . El M etodo de cuarto orden m as habital es el determinado por las f ormulas siguientes

= h f (x n , y n ) h k1 k2 = h f ( x n + , y n + 2 ) 2 h k2 k3 = h f ( x n + , y n + 2 ) 2 k4 = h f (xn + h, yn + k3) 1 yn+1 = yn + (k1 + 2k2 + 2k3 + k4) 6 que al igual que el m etodo de tercer orden est a basado en el m etodo de interacio n de 5 4 Simpson. Los errores local y global son en este caso proporcionales a h y h respectivamente. k1
El razonamiento que lleva a tomar esta combinacio n concreta, que no reproduciremos aqu , se basa en tomar una combinacio n gen erica: . . y n+1 = yn + h f (xn , yn ) + (1 )f (x 1 , y 1)
n+ 2 n+ 2 3

y optimizar el valor de imponiendo exactitud en la f ormula de Taylor al tercer orden, ello lleva a que necesariamente = 1.

TODOS NUME RICOS EN EDO ME

65

Ejemplo: Resolver por un m etodo de Runge-Kutta de cuarto orden el problema de valor inicial:
y r = x2 3 y en el intervalo 0 x 0.4, con h = 0.1. Tenemos que x0 = 0, y0 = 1, y f (x, y) = x2 3y. Para x1 = 0.1 l ordenada correspondiente sera : 0. 1 (k + 2k + 2k + k ) y1 = 1 + 1 2 3 4 6 con h k 1 = f ( x 0 , y 0 ) = 0 2 3 1 = 3 h 0. 1 2 0.1 ; y(0) = 1

k2 = f (x0 + , y0 + k1) = (0 + ) 3(1 + 2 (3)) = 2.5475 2 2 2 h h 0. 1 2 0.1 k3 = f (x0 + , y0 + k2) = (0 + ) 3(1 + 2 (2.5475)) = 2.61538 2 2 2 k4 = f (x0 + h, y0 + h k3) = (0 + 0.1)2 3(1 + 0.1(2.61538)) = 2.20539 y as : y1 = 0.741148 De manera an aloga se determinan los puntos: (x2, y2) = (0.2, 0.551151) ; La solucio n exacta es: y= de manera que: y(0.1) = 0.741127 ; y(0.2) = 0.551121 ; y(0.3) = 0.413860 ; y(0.4) = 0.317402 (x3, y3) = (0.3, 0.413894) ; 25 27 e 1 + 3 .
2

(x4, y4) = (0.4, 0.317435)

3x

2 3 x+

2 9

4.5 Estabilidad
Para finalizar esta seccio n, analizaremos el comportamiento de M etodo de Euler en algunas situaciones, que motivar an la necesidad de introducir m etodos m as precisos. 2 Adem as del error propio del m etodo (local en h y global en h), lo cual no es en principio excesivamente grave si es posible reducir h a voluntad (aunque ello conlleva errores considerables de redondeo y una sobrecarga en el tiempo de computacio n), existe un problema serio asociado al m etodo y es su inestabilidad. Veamos el siguiente ejemplo: Consideremos la ecuacio n de Malthus con constante negativa: yt = y ; y(0) = y0

66 con e y0 ambas positivas. La solucio n exacta es sencilla: y(t) = y0 et El M etodo de Euler para este caso conduce a la expresio n: yn+1 = yn yn h = (1 h) yn

TEMA 4

Es f acil comprobar que si h < 1, entonces la solucio n num erica es decreciente y positiva, como ocurre en la solucio n real exacta, pero si h > 1, entonces el signo de la solucio n se va alternando y, m as au n, si h > 2, entonces la magnitud de la solucio n se va incrementando en cada paso (o sea resulta creciente en valor absoluto), y la solucio n oscila. Este es un comportamiento t pico de lo que se conoce en Matema ticas como inestabilidad del m etodo.

4.5.1 M etodo de Euler Modificado


Veremos a continuacio n una variante del M etodo de euler, llamado habitualmente M etodo de Euler Modificado. Se trata de un m etodo m as preciso que el de Euler y adem as m as estable. La idea fundamental del m etodo modificado es usar el m etodo de los trapecios para integrar la ecuacio n y t = f (x, y ). Tomaremos as , en el intervalo [x0 , x 1]: y1 x1 (x x 0 ) yt = f (x, y(x)) f (x, y (x))dx c 1 (f (x 0, y0 ) + f (x 1, y 1)) dy = y0 x0 2 Repitiendo el razonamiento, tendremos h (f (xn+1, yn+1) + f (xn, yn)) 2 Si la funcio n f es lineal en la variable y, entonces es posible despejar f acilmente yn+1 en la ecuacio n anterior. Si no es lineal, entonces necesitamos un m etodo num erico para calcular la correspondiente yn+1 , t picamente se utiliza el m etodo de las sustituciones sucesivas. Veamos un par de ejemplos para aclarar estas ideas: Ejemplo 1: Si consideramos la ecuacio n lineal:
yr = ay + cos x entonces: h yn+1 = yn + 2 (ayn+1 + cos xn+1 + ayn + cos xn) yn+1 = 1+ 1
ah 2 ah 2

yn+1 = yn +

h 2

ah 2

(cos xn+1 + cos xn))

TODOS NUME RICOS EN EDO ME

67

Ejemplo 2: Tomemos ahora el siguiente problema de valor inicial basado en una ecuacio n no
lineal: y r = y 2 + 1 ;
3

y(0) = 10

El m etodo requerira ahora la resolucio n de: . h. 3 3 (yn+1) 2 (yn) 2 + 2 yn+1 = yn + 2

4.6 M etodo Num ericos para Sistemas


Los m etodos de Euler y de Runge-Kutta que hemos planteado se aplican de manera sencilla a sistemas de ecuaciones de primer orden, y, en consecuencia, a ecuaciones de orden superior al primero. Comencemos con el M etodo de Euler aplicado a un sistema de dos ecuaciones de primer orden: dx = f (t, x, y) dt = g (t, x, y ) x(0) = x0 y (0) = y0 la extensio n natural del m etodo ya expuesto nos conduce a las expresiones: tn+1 = tn + h xn+1 = xn + h f (tn, xn, yn) yn+1 = yn + h g(tn, xn, yn) Ejemplo: Dado el problema de valor inicial:
yrr 0.05 yr+ 0.15 y = 0, yr(0) = 0, y(0) = 1
dy dt

calcular y (1) e y r (1) utilizando el M etodo de Euler con h = 0.5. Si introducimos una nueva variable dependiente: z = y r, y pasamos por tanto de un problema de segundo orden en variables (t, y) a uno con tres variables (t; y, z) tendremos el sistema de ecuaciones de primer orden: yr = z zr = 0.05z 0.15y y(0) = 1 z (0) = 0 Las expresiones del m etodo ser an entonces: yn+1 = yn + h f (tn, yn, zn) = yn + h zn , zn+1 = zn + h g(tn, yn, zn) = yn + h (0.05zn 0.15yn)

Y as , para t1 = t0 + h = 0 + 0.5 = 0.5: y1 = y0 + h z 0 = 1 , z1 = z0 + h (0.05z0 0.15y0) = 0.075

68
y para t2 = 1: y2 = y1 + h z1 = 0.96250 , z2 = z1 + h (0.05z1 0.15y1) = 0.15187

TEMA 4

Finalmente, plantearemos en un ejemplo la aplicaci on de un m etodo de Runge-Kutta de cuarto orden a un sistema de ecuaciones, siendo extensible dicho planteamiento a otros m etodos y por supuesto a otro tipo de sistemas. Ejemplo: Planteemos la resolucio n del sistema:
dx dt dy dx

= =

4x + 3y + 6 2 x + y + 3

con las condiciones iniciales: x(0) = y (0) = 0 por un m etodo de Runge-Kutta de cuarto orden: t0 = 0 x1 = x0 + h 6 , x0 = y0 = 0 ; y1 = y0 + h

(k1 + 2k2 + 2k3 + k 4 )

(l 1 + 2 l 2 + 2l 3 + l 4 ) 6 k 1 = f ( t 0 , x 0 , y 0 ) = 4 x 0 + 3 y 0 + 6 l1 = g (t0, x0, y 0) = 2x0 + y0 + 3 h k2 = f (t0 + l2 = g ( t 0 + k3 = f (t0 + l3 = g ( t 0 + 2 h , x0 + h 2 h k1, y0 + h 2 h l1)

, x0 + k 1 , y0 + l 1 ) 2 2 2 h h h 2 h , x0 + 2 h k2, y0 + 2 h l2)

, x0 + k 2 , y0 + l 2 ) 2 2 2 k4 = f (t0 + h, x0 + hk 3, y0 + hl3) l4 = g(t0 + h, x0 + hk3, y0 + hl3)

Вам также может понравиться