Está en la página 1de 6

etodos Num

M
ericos en
Ecuaciones Diferenciales
Ordinarias
1

Introducci
on

Estudiaremos en este Tema algunos metodos numericos para resolver problemas de valor
inicial en ecuaciones diferenciales ordinarias y en sistemas de e.d.o.

Metodo de Euler

El Metodo de Euler o de las Tangentes constituye el primer y mas sencillo ejemplo de


metodo numerico para la resolucion de un problema de valor inicial:
y 0 = f (x, y) ,

y(x0 ) = y0

donde suponemos ademas que se verifican las hipotesis del Teorema de Picard1 , y en
consecuencia existe solucion u
nica para el problema.
Interpretando la e.d.o. y 0 = f (x, y) como un campo de direcciones en el plano
x y y la condicion inicial y(x0 ) = y0 como un punto (x0 , y0 ) de dicho plano, podemos
aproximar la funcion solucion y(x) por medio de la recta tangente a la misma que pasa
por ese punto:
y(x)
= y0 + f (x0 , y0 )(x x0 )

donde se ha utilizado que la pendiente de dicha tangente es: m = y 0 (x0 ) y, en consecuencia: m = f (x0 , y0 ).
Calculamos as de manera aproximada el valor de la soluci
on y en el punto de abscisa
x1 como:
y(x1 )
= y1 = y0 + f (x0 , y0 )(x1 x0 )
y con este punto (aproximado) ya calculado, podemos repetir el metodo para obtener
otro punto aproximado (x2 , y2 ) de la forma:
y(x2 )
= y2 = y1 + f (x1 , y1 )(x2 x1 )
y as sucesivamente.

Es habitual en este metodo tomar abscisas equiespaciadas, es decir, calcular la


soluci
on aproximada en puntos de la forma: xn = xn1 + h = x0 + nh, siendo h el
paso del metodo. De esta forma se obtienen las f
on
ormulas que nos determinan la soluci
aproximada en la forma:

xn = xn1 + h;

yn = yn1 + f (xn1 , yn1 ) h

Desde el punto de vista geometrico, tenemos en definitiva que el Metodo de Euler


aproxima a la funcion solucion por medio de una lnea poligonal, la aproximaci
on sera
tanto peor cuanto mayor sea en n
umero de pasos, es decir, cuanto mas lejos nos
encontremos del punto inicial (x0 , y0 ). Por otro lado, el error ser
a evidentemente tanto
as grande sea el paso del metodo, h.
mayor cuanto m

Ejemplo: Resolveremos el problema de valor inicial


(

y0 = x y
y(1) = 4

por el metodo 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 funcion f (x, y) es: f (x, y) = x y.
Por tanto:

yn = yn1 + xn1 yn1 h


Dado que el problema se puede resolver tambien de forma exacta, presentamos en la tabla y
grafica siguientes los resultados:

i
0
1
2
3
4
5

2.1

xi
1
1.1
1.2
1.3
1.4
1.5

yi
4
4.2
4.42543
4.67787
4.95904
5.27081

Sol. Exacta
4
4.21276
4.45210
4.71976
5.01760
5.34766

5.2
5

4.8
4.6
4.4
4.2

1.1

1.2

1.3

1.4

1.5

etodo de Euler Modificado


M

on una variante del Metodo de euler, llamado habitualmente Metodo


Veremos a continuaci
de Euler Modificado. Se trata de un metodo m
as preciso que el de Euler y adem
as mas
estable.
La idea fundamental del metodo modificado es usar el metodo de los trapecios para
integrar la ecuaci
on y 0 = f (x, y). Tomaremos as, en el intervalo [x0 , x 1]:
Z y1
Z x1
(x1 x0 )
0
y = f (x, y(x))
dy =
f (x, y(x))dx '
(f (x0 , y0 ) + f (x1 , y1 ))
2
y0
x0
Repitiendo el razonamiento, tendremos
yn+1 = yn +

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

Si la funci
on f es lineal en la variable y, entonces es posible despejar f
acilmente yn+1
en la ecuaci
on anterior. Si no es lineal, entonces necesitamos un metodo numerico para
calcular la correspondiente yn+1 , tpicamente se utiliza el metodo de las sustituciones
sucesivas.
Veamos un par de ejemplos para aclarar estas ideas:
Ejemplo 1: Si consideramos la ecuacion lineal:
y 0 = ay + cos x
entonces:
yn+1 = yn +

1+
h
(ayn+1 + cos xn+1 + ayn + cos xn ) yn+1 =
2
1

ah
2
ah
2

h
2

ah
2

(cos xn+1 + cos xn ))

Ejemplo 2: Tomemos ahora el siguiente problema de valor inicial basado en una ecuacion no
lineal:
3

y 0 = y 2 + 1

y(0) = 10

El metodo requerir
a ahora la resoluci
on de:

3
3
h
yn+1 = yn +
(yn+1 ) 2 (yn ) 2 + 2
2

etodos de Runge-Kutta
M

La idea general de los Metodos de Runge-Kutta es sustituir el Problema de Valor Inicial:


)
y0
= f (x, y)
y(x0 ) = y0
por la ecuacion integral equivalente:
Z y
Z x
Z
dy =
f (x, y(x)) dx y = y0 +
y0

x0

f (x, y(x)) dx

x0

para proceder a aproximar esta u


ltima integral mediante un metodo numerico adecuado
(recordemos que y(x) es desconocida). Si nuevamente planteamos el problema paso a
paso tendremos:
Z
xn+1

yn+1 = yn +

3.1

f (x, y(x)) dx
xn

Metodo de Runge-Kutta de segundo orden

La primera opcion que podemos aplicar es integrar mediante el metodo de los trapecios,
es decir tomando:
Z xn+1
1
f (x, y(x)) dx ' h (f (xn , yn ) + f (xn+1 , yn+1 ))
2
xn

Al ser desconocida yn+1 en la expresion anterior, lo aproximaremos por yn+1 , donde


yn+1 es la estimacion de yn+1 que resultara aplicando el metodo de Euler. Tendremos
as:
Z xn+1
1
f (x, y(x)) dx ' h (f (xn , yn ) + f (xn+1 , yn+1 ))
2
xn
con
yn+1 = yn + h f (xn , yn )
y llegaremos a la expresion del metodo:
yn+1 = yn +

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

Lo normal es presentar el metodo con las expresiones siguientes:


k1 = h f (xn , yn ) ;

k2 = h f (xn+1 , yn + k1 )

1
(k1 + k2 )
2
Comparando este metodo con el metodo de Taylor de segundo orden, es posible
demostrar que el error local es tambien proporcional a h3 y, por tanto, el global lo es a
h2 .
yn+1 = yn +

3.2

etodo de Runge-Kutta de tercer orden


M

Se trata de la misma idea pero integrando por el Metodo de Simpson, entonces:


Z

xn+1

f (x, y(x)) dx '


xn

h
2

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


2

donde yn+1 e yn+ 1 son estimaciones, puesto que yn+1 e yn+ 1 no son conocidos.
2
2
La estimacion de yn+ 1 se hace por el metodo de Euler:
2

yn+ 1 = yn +
2

h
f (xn , yn )
2

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

que consiste en variar el Metodo 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 mas

usual es tomar una combinacion de las dos opciones3 :

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


2

Podemos entonces resumir el Metodo de Runge-Kutta de tercer orden en la forma:


k1 = h f (xn , yn )
h
1
k2 = h f (xn + , yn + k1 )
2
2
k3 = h f (xn + h, yn k1 + 2k2 )
1
yn+1 = yn + (k1 + 4k2 + k3 )
6
h4

Finalmente, a
nadir que el error local en el Metodo de tercer orden es proporcional a
y en consecuencia el global lo es a h3 .

3.3

etodo de Runge-Kutta de cuarto orden


M

Los Metodos de Runge-Kutta de cuarto orden se deducen de una manera similar a la


expuesta en la seccion anterior para el caso de tercer orden. Ahora se introduce un
nuevo paso intermedio en la evaluacion de la derivada. Una vez mas se presentan varias
opciones en la evaluacion 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 Metodo
de cuarto orden mas habital es el determinado por las formulas siguientes

k1 = h f (xn , yn )
h
k1
k2 = h f (xn + , yn + )
2
2
h
k2
k3 = h f (xn + , yn + )
2
2
k4 = h f (xn + h, yn + k3 )
1
yn+1 = yn + (k1 + 2k2 + 2k3 + k4 )
6
que al igual que el metodo de tercer orden esta basado en el metodo de interaci
on de
5
4
Simpson. Los errores local y global son en este caso proporcionales a h y h respectivamente.

Ejemplo: Resolver por un metodo de Runge-Kutta de cuarto orden el problema de valor inicial:
y 0 = x2 3y

y(0) = 1

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
y1 = 1 +
(k1 + 2k2 + 2k3 + k4 )
6
con
k1 = f (x0 , y0 ) = 02 3 1 = 3
k2 = f (x0 +
k3 = f (x0 +

h
h
0.1 2
0.1
, y0 + k1 ) = (0 +
) 3(1 +
(3)) = 2.5475
2
2
2
2

h
h
0.1 2
0.1
, y0 + k2 ) = (0 +
) 3(1 +
(2.5475)) = 2.61538
2
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 analoga se determinan los puntos:
(x2 , y2 ) = (0.2, 0.551151)
La solucion exacta es:

(x3 , y3 ) = (0.3, 0.413894) ;


25 3x 1
y=
e
+
27
3

(x4 , y4 ) = (0.4, 0.317435)

2
2
2
x x+
3
9

de manera que:
y(0.1) = 0.741127 ;

y(0.2) = 0.551121

y(0.3) = 0.413860

y(0.4) = 0.317402

También podría gustarte