Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MetNumTema4Teo (09 10) PDF
MetNumTema4Teo (09 10) PDF
M
etodos Num
ericos en
Ecuaciones Diferenciales
Ordinarias
4.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.
4.2
M
etodo de Euler
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 )
1
59
60
TEMA 4
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 solucion 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
solucion aproximada en puntos de la forma: xn = xn1 + h = x0 + nh, siendo h el
paso del metodo. De esta forma se obtienen las formulas que nos determinan la solucion
aproximada en la forma:
xn = xn1 + h;
p
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.
p
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:
p
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
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
61
METODOS
NUMERICOS
EN EDO
4.3
M
etodos de Taylor
El Metodo de Euler que acabamos de describir no es mas que un caso particular de los
metodos de Taylor, que consisten de manera general en aproximar la solucion por su
polinomio de Taylor de un orden determinado. Partiendo por tanto del P.V.I.:
)
y0
= f (x, y)
y(x0 ) = y0
tal que presenta solucion u
nica y(x) en un entorno de x0 (solucion que suponemos ademas
derivable n veces en dicho entorno), aproximaremos dicha funcion por su polinomio de
Taylor de orden N :
1
1
y (N )
y(x) ' y(x0 )+y 0 (x0 )(xx0 )+ y 00 (x0 )(xx0 )2 + y 000 (x0 )(xx0 )3 +. . .+
(xx0 )N
2
3!
N!
y el error de aproximaci
on viene determinado por el resto de orden N + 1, de manera
que el error es proporcional a (x x0 )N +1 .
Si fijamos una sucesion de puntos equiespaciados : x0 , x1 , x2 , . . ., con xn+1 = xn + h,
y denominamos (de manera similar a lo hecho en la seccion anterior) y0 , y1 , . . . a los
valores paroximados correspondientes de y(x), tendremos que:
1
1 (N )
yn+1 = yn + y 0 (xn )h + y 00 (xn )h2 + . . . +
y (xn )hN
2
N!
con un error en cada paso (error local2 ) proporcional a hN +1 .
Para poder aplicar el metodo necesitamos conocer las derivadas de la solucion (recordemos que desconocida), pero teniendo en cuenta la propia ecuacion diferencial:
y 0 (xn ) = f (xn , yn )
mientras que y 00 (xn ) puede ser calculada derivando:
y 00 =
d
@f
@f dy
@f
@f
f (x, y) =
+
=
+
f (x, y)
dx
@x @y dx
@x @y
y as sucesivamente.
Es evidente que el metodo de Taylor de orden uno no es mas que el Metodo de Euler
antes descrito. Analicemos con un ejemplo el Metodo de Taylor de orden dos:
Ejemplo: Apliquemos el metodo de Taylor de orden dos a la ecuacion y 0 = cos(xy), con la
condicion inicial: y(0) = 1. La expresion a considerar sera:
1
y(xn+1 ) ' yn+1 = yn + y 0 (xn )h + y 00 (xn )h2
2
2
En general se llama error local al cometido en cada uno de los pasos de un metodo numerico.
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
TEMA 4
tendremos entonces:
y 0 (xn ) = f (x, yn ) = cos(xn yn )
y 00 =
d cos(xy)
= sen(xy) y sen(xy) y 0 = sen(xy)(y + cos(xy))
dx
= x0 + h = 0.5
y1
= y0 + h cos(x0 y0 ) +
= 1 + 0.5 cos 0 +
h2
( sen(x0 y0 )(y0 + cos(x0 y0 ))) =
2
0.52
( sen 0(1 + cos(0))) = 1.5
2
x2
= x1 + h = 1
y2
= y1 + h cos(x1 y1 ) +
h2
( sen(x1 y1 )(y1 + cos(x1 y1 ))) =
2
0.52
= 1.5 + 0.5 cos(0.5 1.5) +
( sen(0.5 1.5)(1.5 + cos(0.5 1.5))) = 1.67569
2
4.4
M
etodos de Runge-Kutta
x0
f (x, y(x)) dx
x0
xn+1
f (x, y(x)) dx
xn
4.4.1
M
etodo 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
63
METODOS
NUMERICOS
EN EDO
h
(f (xn , yn ) + f (xn+1 , yn+1 ))
2
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 +
4.4.2
M
etodo de Runge-Kutta de tercer orden
xn+1
xn
h
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
64
TEMA 4
Finalmente, a
nadir que el error local en el Metodo de tercer orden es proporcional a
h4 y en consecuencia el global lo es a h3 .
4.4.3
M
etodo de Runge-Kutta de cuarto orden
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.
3
El razonamiento que lleva a tomar esta combinaci
on concreta, que no reproduciremos aqu, se basa
en tomar una combinaci
on generica:
65
METODOS
NUMERICOS
EN EDO
Ejemplo: Resolver por un metodo de Runge-Kutta de cuarto orden el problema de valor inicial:
y 0 = x2 3y
y(0) = 1
k2 = f (x0 +
k3 = f (x0 +
h
h
0.1 2
0.1
, y0 + k2 ) = (0 +
) 3(1 +
(2.5475)) = 2.61538
2
2
2
2
25 3x 1
e
+
27
3
de manera que:
y(0.1) = 0.741127 ;
4.5
y(0.2) = 0.551121
2
2
x2 x +
3
9
y(0.3) = 0.413860
y(0.4) = 0.317402
Estabilidad
y(0) = y0
66
TEMA 4
4.5.1
M
etodo de Euler Modificado
Veremos a continuaci
on una variante del Metodo de euler, llamado habitualmente Metodo
de Euler Modificado. Se trata de un metodo mas preciso que el de Euler y ademas mas
estable.
La idea fundamental del metodo modificado es usar el metodo de los trapecios para
integrar la ecuacion y 0 = f (x, y). Tomaremos as, en el intervalo [x0 , x 1]:
Z y1
Z x1
(x1 x0 )
y 0 = 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
1+
h
(ayn+1 + cos xn+1 + ayn + cos xn ) ) yn+1 =
2
1
ah
2
ah
2
h
2
ah
2
67
METODOS
NUMERICOS
EN EDO
Ejemplo 2: Tomemos ahora el siguiente problema de valor inicial basado en una ecuacion no
lineal:
y 0 = y 2 + 1 ;
y(0) = 10
3
3
h
yn+1 = yn +
(yn+1 ) 2 (yn ) 2 + 2
2
4.6
M
etodo Num
ericos para Sistemas
y 0 (0) = 0,
y(0) = 1
yn+1 = yn + h f (tn , yn , zn ) = yn + h zn
68
TEMA 4
y para t2 = 1:
y2 = y1 + h z1 = 0.96250
=
=
4x + 3y + 6
2x + y + 3
con las condiciones iniciales: x(0) = y(0) = 0 por un metodo de Runge-Kutta de cuarto orden:
t0 = 0
x1 = x0 +
x0 = y0 = 0
h
h
(k1 + 2k2 + 2k3 + k4 ) ; y1 = y0 + (l1 + 2l2 + 2l3 + l4 )
6
6
k1 = f (t0 , x0 , y0 ) = 4x0 + 3y0 + 6
l1 = g(t0 , x0 , y0 ) = 2x0 + y0 + 3
h
h
h
, x0 + k1 , y0 + l1 )
2
2
2
h
h
h
l2 = g(t0 + , x0 + k1 , y0 + l1 )
2
2
2
h
h
h
k3 = f (t0 + , x0 + k2 , y0 + l2 )
2
2
2
h
h
h
l3 = g(t0 + , x0 + k2 , y0 + l2 )
2
2
2
k4 = f (t0 + h, x0 + hk3 , y0 + hl3 )
k2 = f (t0 +