You are on page 1of 59

Soluciones Numricas de

Ecuaciones Diferenciales
ordinarias
CPITULO 6
Contenidos

6.1 Mtodo de Euler y Anlisis de


Error
6.2 Mtodos de Runge-Kutta
6.3 Mtodos de Varios Pasos
6.4 Ecuaciones de Orden Superior y
Sistemas
6.5 problemas de Valores en al
Frontera de Segundo Orden
6.1 Mtodo de Euler y Anlisis de Error

Introduccin
Recuerde la estructura del Mtodo de
Euler
yn+1 = yn + hf(xn, yn) (1)

Errores en Mtodos Numricos


Una fuente de error que siempre est
presente en los clculos es el error de
rondeo.
Errores de Truncamiento para el
Mtodo de Euler
Este logaritmo slo da una aproximacin
en lnea recta a la solucin. Este error se
llama error de truncamiento local, o
error de discretizacin.
Para obtener una frmula para el error de
truncamiento local del mtodo de Euler,
usamos
y ( x) la frmula de Taylor con resido.
xa ( x a)k ( k 1) ( x a ) k 1
y (a ) y(a ) (k )
y (a) y (c )
1! k! (k 1)!

Donde c es un punto entre a y x.


Tomando k = 1, a = xn, x = xn+1 = xn + h,
tenemos h h2
y ( xn1 ) y ( xn ) y( xn ) y(c)
1! 2!
h2
y ( xn1 ) yn hf ( xn , yn ) y(c)
2!
yn 1

De ah que el
2
error de truncamiento en y n+1 es
h
y(c)
donde x 2!n < c < xn+1

El valor de c por lo comn no se conoce, pero


una cota superior es
h2
M M max | y( x) |, xn x xn1
donde2! xn x xn 1
Observacin:
Se dice que e(h) es de orden hn,
representado con O(hn), si existe una
constante C tal que |e(h)| Chn para
h suficientemente pequea.
Ejemplo 1

Determine una cota para los errores de


truncamiento local del mtodo de Euler aplicado
a y ' 2 xy, y (1) 1

Solucin x 2 1
ye , y (2 4 x )e
2 x 2 1
,
De la solucin tenemos
h2 2 h 2
so y(c) (2 4c 2 )e( c 1)
2 2

En particular, para h = 0.1, se puede obtener


2
una cota superior2 remplazando
2
((1.1) 1) ( 0 . 1) c por 1.1 es
[2 (4)(1.1) ]e 0.0422
2
Ejemplo 1 (2)

Al hacer 5 pasos, remplazando c por


1.5, se obtiene
2
2
1) ( 0 . 1)
[2 (4)(1.5) 2 ]e((1.5) 0.1920 (2)
2
Mtodo de Euler Mejorado

f ( xn , yn ) f ( xn1, yn*1 )
(3) yn1 yn h
2

donde (4) yn*1 yn hf ( xn , yn )

se conoce comunmente como el Mtodo


de Euler Mejorado. Fig 6.1
En general, el mtodo de Euler mejorado
es un ejemplo de mtodo de predictor
y corrector.
Fig 6.1
Ejemplo 2
Use el mtodo de Euler mejorado para
obtener el valor aproximado de y(1.5) para la
y ' 2 xy, y (1de
solucin ) 1
. Compare los resultados para
h = 0.1 y h = 0.05.
Solucin
Con x0 = 1, y0 = 1, f(xn, yn) = 2xnyn , h = 0.1
y1* = y0 + (0.1)(2xy) = 1.2
Usando (3) con x1 = 1 + h = 1.1
2 x0 y0 2 x1 y1* 2(1)(1) 2(1.1)(1.2)
y1 y0 (0.1) 1 (0.1) 1.232
2 2

Los resultados se dan en la Tabla 6.3 y 6.4.


Tabla 6.3

Valor Error % error


xn yn real Abs. relativo
1.00 1.0000 1.0000 0.0000 0.00
1.10 1.2320 1.2337 0.0017 0.14
1.20 1.5479 1.5527 0.0048 0.31
1.30 1.9832 1.9937 0.0106 0.53
1.40 2.5908 2.6117 0.0209 0.80
1.50 3.4509 3.4904 0.0394 1.13
Tabla 6.4
Valor Error % error
xn yn real Abs relativo
1.00 1.0000 1.0000 0.0000 0.00
1.05 1.1077 1.1079 0.0002 0.02
1.10 1.2332 1.2337 0.0004 0.04
1.15 1.3798 1.3806 0.0008 0.06
1.20 1.5514 1.5527 0.0013 0.08
1.25 1.7531 1.7551 0.0020 0.11
1.30 1.9909 1.9937 0.0029 0.14
1.35 2.2721 2.2762 0.0041 0.18
1.40 2.6060 2.6117 0.0057 0.22
1.45 3.0038 3.0117 0.0079 0.26
1.50 3.4795 3.4904 0.0108 0.31
Errores de Truncamiento para el
Mtodo Mejorado de Euler
Observe que el error de
truncamiento local es O(h3).
6.2 Runge-Kutta Methods
Mtodos de Runge-Kutta
Todos los mtodos de Runge-Kutta son
generalizaciones de la frmula bsica de Euler,
en la que la funcin pendiente f se remplaza
por un promedio ponderado de pendientes en
el intervalo xn x xn+1
(1) y y h( w k w k w k )
n 1 n 1 1 2 2 m m
donde las ponderaciones wi, i = 1, 2, , m son
constantes que satisfacen w1 + w2 + + wm =
0, y ki es la funcin evaluada en un punto
seleccionado (x, y) para el cual xn x xn+1.
El nmero m se llama el orden. Si
tomamos m = 1, w1 = 1, k1 = f(x,
yn), llegamos al mtodo de Euler. Por
consiguiente, se dice que el mtodo
de Euler es un mtodo de Runge-
Kutta de primer orden.
Mtodo de Runge-Kutta de Segundo
Orden
Tratamos de hallar unas constantes de
modo que la frmula
(2) yn1 yn ak1 bk2
donde k1= f(xn, yn),
k2= f(xn+h, yn+hk1)
concuerde con un polinomio de Taylor de
grado 2.
Las constantes deben 1 satisfacer1
w1 w2 1, w2 , y w2
(3) 2 2
1 1
luegow1 1 w2 , , y
(4) 2 w2 2 w2

donde w2 0.
Ejemplo: escogemos w2 = , de donde w1
= , = 1, = 1, y (2) se transforma en

yn+1= yn+(k1+ k2)h/2

donde k1= f(xn, yn), k2= f(xn+h, yn+hk1).


Puesto que xn + h = xn+1, yn + hk1 = yn +
hf(xn, yn), es idntica al mtodo de Euler
mejorado.
Mtodo de Runge-Kutta de Cuarto
Orden
Tratamos de hallar parmetros de modo
que la frmula
yn1 yn ak1 bk2 ck3 dk4
(5)
donde k hf ( xn , yn )
k2 hf ( xn 1h, yn 1k1 )
k3 hf ( xn 2 h, yn 2 k1 3k2 )
k4 hf ( xn h, yn k3 )
concuerde con un polinomio de Taylor de
orden 4.
El conjunto de valores usado con
ms frecuencia para los parmetros
produce el siguiente resultado
1
yn1 yn (k1 2k2 2k3 k4 )
6
k1 hf ( xn , yn )
(6)
k2 hf ( xn 1/2 h, yn 1/2 k1 )
k3 hf ( xn 1/2 h, yn 1/2 k2 )
Ejemplo 1
Use el mtodo RK4 con h = 0.1 para obtener
y(1.5) para la solucin de y = 2xy, y(1) = 1.
Solucin
Primero se calcula el caso n = 0.
k1 (0.1) f ( x0 , y0 ) (0.1)(2 x0 y0 ) 0.2
k2 (0.1) f ( x0 1/2(0.1), y0 1/2(0.2))
(0.1)2( x0 1/2(0.1))( y0 1/2(0.2)) 0.231
k3 (0.1) f ( x0 1/2(0.1), y0 1/2(0.231))
(0.1)2( x0 1/2(0.1))( y0 1/2(0.231)) 0.234255
k4 (0.1) f ( x0 0.1, y0 0.234255)
(0.1)2( x0 0.1)( y0 0.234255) 0.2715361
Ejemplo 1 (2)

Por lo tanto,
1
y1 y0 ( k1 2k2 2k3 k4 )
6
1
1 (0.2 2(0.231) 2(0.234255) 0.2715361)
6
1.23367435

Vase la Tabla 6.5.


Tabla 6.5 h=0.1

Valor Error % error


xn yn real Abs. relativo
1.00 1.0000 1.0000 0.0000 0.00
1.10 1.2337 1.2337 0.0000 0.00
1.20 1.5527 1.5527 0.0000 0.00
1.30 1.9937 1.9937 0.0000 0.00
1.40 2.6116 2.6117 0.0001 0.00
1.50 3.4902 3.4904 0.0001 0.00
En la Tabla 6.6 comparan algunos
resultados.
h = 0.1 h = 0.05
xn Euler Valor xn Euler Valor
Euler RK4 Euler RK4
mejorado real mejorado real
1.00 1.0000 1.0000 1.0000 1.0000 1.00 1.0000 1.0000 1.0000 1.0000
1.10 1.2000 1.2320 1.2337 1.2337 1.05 1.1000 1.1077 1.1079 1.1079
1.20 1.4640 1.5479 1.5527 1.5527 1.10 1.2155 1.2332 1.2337 1.2337
1.30 1.8154 1.9832 1.9937 1.9937 1.15 1.3492 1.3798 1.3806 1.3806
1.40 2.2874 2.5908 2.6116 2.6117 1.20 1.5044 1.5514 1.5527 1.5527
1.50 2.9278 3.4509 3.4902 3.4904 1.25 1.6849 1.7531 1.7551 1.7551
1.30 1.8955 1.9909 1.9937 1.9937
1.35 2.1419 2.2721 2.2762 2.2762
1.40 2.4311 2.6060 2.6117 2.6117
1.45 2.7714 3.0038 3.0117 3.0117
1.50 3.1733 3.4795 3.4903 3.4904
Errores de Truncamiento para el
Mtodo RK4
Como es de grado 4, el error de
truncamiento local es O(h5) y el error
de truncamiento global es O(h4). Sin
embargo, esto no se abarca en este
texto.
Ejemplo 2
Determine una cota para los errores de
' 2 xyaplicado
truncamiento local del mtodoy RK4 , y (1) 1 a
Solucin
Al calcular la quinta derivada de la solucin
conocida x 2 1
y ( x) e ,
se obtiene
5 5
( 5)h 3 5 c 2 1 h
y (c) (120c 160c 32c )e
(7) 5! 5!
As con c = 1.5, entonces (7) = 0.00028.
La Tabla 6.7 proporciona aproximaciones a la
solucin del problema de valor inicial en x = 1.5
por el mtodo RK4.
Tabla 6.7

h Aproximacin Error
0.1 3.49021064 1.32321089 10-4
0.05 3.49033382 9.13776090 10-6
6.3 Mtodos de Varios Pasos

Mtodo de Adams-Bashforth-Moulton
El predictor es la frmula de Adams-
Bashforth h
yn1 yn (55 yn 59 yn 1 37n2 9 yn 3 ) ,
*
24
yn f ( xn , yn )
yn (1)
1 f ( xn 1 , yn 1 )
yn 2 f ( xn2 , yn2 )
yn 3 f ( xn3 , yn3 )
donde n 3.
El valor de yn+1* se sustituye en el
corrector de Adams-Moulton
h
yn1 yn (9 yn 1 19 yn 5 yn 1 yn 2 )
24
yn 1 f ( xn1 , yn*1 ) (2)
Ejemplo 1

Use el mtodo anterior con h = 0.2 para


obtener y(0.8) para la solucin de
y x y 1 , y ( 0) 1
Solucin
Con h = 0.2, y(0.8) se aproxima mediante
y4. En principio s emplea el mtodo RK4
con x0 = 0, y0 = 1, h = 0.2 para obtener
y1 = 1.02140000, y2 = 1.09181796,
y3 = 1.22210646
Ejemplo 1 (2)

Ahora con x0 = 0, x1 = 0.2, x3 = 0.4, x4


= 0.6, y
f(x,
y0 y)
f ( x= x + y 1, hallamos
0 , y0 ) (0) (1) 1 0
y1 f ( x1 , y1 ) (0.2) (1.02140000) 1 0.22140000
y2 f ( x2 , y2 ) (0.4) (1.09181796) 1 0.49181796
y3 f ( x3 , y3 ) (0.6) (1.22210646) 1 0.82210646

El 0.2
* predictor
y4 y3 (55 y(1) da
3 59 y2 37 y1 9 y0 ) 1.42535975
24
Ejemplo 1 (3)

Para usar el corrector (2), se necesita


y4 f ( x4 , y4* ) 0.8 1.42535975 1 1.22535975

0 .2
y4 y3 (9 y4 19 y3 5 y2 y1 ) 1.42552788
24
Estabilidad de Mtodos Numricos

Decimos que un mtodo numrico es


estable, si cambios pequeos en la
condicin inicial dan como resultado
slo cambios pequeos en la solucin
calculada.
6.4 Ecuaciones de Orden Superor y Sistemas

PVI de Segundo Orden


Una PVI
f ( x, y, y) , y ( x0 ) y0 , y( x0 ) u0
y(1)
puede expresarse como
y u
(2)

Como y(x0)u= uf 0(,xentonces
, y, u ) y(x0) = y0,
u(x0) = u0.
Aplicando el mtodo de Euler (2)
yn1 yn hun
(3) un1 un hf ( xn , yn , un )
Mientras que al aplicar el mtodo RK4:
1
yn1 yn (m1 2m2 2m3 m4 )
(4) 6
1
un1 un (k1 2k2 2k3 k4 )
donde 6
m1 hun hun k1 hf ( xn , yn , un )
m2 h(un 1/2 k1 ) k2 hf ( xn 1/2 h, yn 1/2 m1 , un 1/2 k1 )
m3 h(un 1/2 k2 ) k3 hf ( xn 1/2 h, yn 1/2 m2 , un 1/2 k2 )
m4 h(un k3 ) k4 hf ( xn h, yn m3 , un k3 )
(n) ( n 1)
y
En general, f ( x , y , y ' , , y )
Ejemplo 1
Use el mtodo de Euler para obtener
y(0.2), donde
y xy y 0 , y (0) 1 , y(0) 2
(5)
Solucin
Sea y = u, entonces (5) se transforma
en y u
u xu y
yn1 yn hun
De (3) un1 un h[ xnun yn ]
Ejemplo 1 (2)

Usando h = 0.1, y0 = 1, u0 = 2,
y1 y0 (0.1)u0 1 (0.1)2 1.2
determinamos
u1 u0 (0.1)[ x0u0 y0 ] 2 (0.1)[(0)(2) 1] 1.9
y2 y1 (0.1)u1 1.2 (0.1)(1.9) 1.3
u2 u1 (0.1)[ x1u1 y1 ] 1.9 (0.1)[(0.1)(1.9) 1.2] 1.761
Fig 6.2

En la Fig 6.2 se compara la curva solucin


generada mediante el mtodo de Euler
con la curva solucin generada mediante
el mtodo RK4.
Ejemplo 2
Escribir x x 5 x 2 y et
2 x y 2 y 3t 2
como un sistema de ecuaciones
diferenciales de primer orden.
Solucin
Escribimos
x 2 y et 5 x x
y 3t 2 2 x 2 y
Al simplificar:
x 9 x 4 y x et 6t 2
Ejemplo 2 (2)

Sea x' u, y ' v


u x 9 x 4 y u et 6t 2
v y 2 x 2 y 3t 2

El sistema original se puede escribir en


x u
la forma
y v
u 9 x 4 y u et 6t 2
v 2 x 2 y 3t 2
Solucin Numrica de un Sistema

La solucin de un sistema de la forma


dx1
f (1 t , x1 , x2 , , xn )
dt
dx2
f 2 (t , x1 , x2 , , xn )
dt

dxn
f n (t , x1 , x2 , , xn )
dt
se puede aproximar mediante mtodos
numricos.
Por ejemplo, mediante el mtodo RK4:
x f (t , x, y )
y g (t , x, y )
(6) x(t0 ) x0 , y (t0 ) y0

se parece a esto:
1
xn1 xn xn (m1 2m2 2m3 m4 )
6
1
(7)yn1 yn (k1 2k2 2k3 k4 )
6
donde
m1 hf (tn , xn , yn ) k1 hg (tn , xn , yn )
m2 hf (tn 1/2 h, xn 1/2 m1 , yn 1/2 k1 ) k2 hg (tn1/2 h, xn 1/2 m1 , yn 1/2 k1 )
m3 hf (tn 1/2 h, xn 1/2 m2 , yn 1/2 k2 ) k3 hg (tn 1/2 h, xn 1/2 m2 , yn 1/2 k2 )
m4 hf (tn h, xn m3 , yn k3 ) k4 hg (tn h, xn m3 , yn k3 )

(8)
Ejemplo 3

Considere x 2 x 4 y
y x 6 y
x(0) 1 , y ( 0) 6

Use el mtodo RK4 para aproximar x(0.6)


y y(0.6) con h = 0.2 y h = 0.1.
Solucin
Con h = 0.2 y los datos proporcionados,
de (8)
Ejemplo 3 (2)

m1 hf (t0 , x0 , y0 ) 0.2 f (0, 1, 6) 0.2[2(1) 4(6)] 4.4000


k1 hg (t0 , x0 , y0 ) 0.2 g (0, 1, 6) 0.2[1(1) 6(6)] 7.4000
m2 hf (t0 1/2 h, x0 1/2 m1 , y0 1/2 k1 ) 0.2 f (0.1, 1.2, 9.7) 8.2400
k2 hg (t0 1/2 h, x0 1/2 m1 , y0 1/2 k1 ) 0.2 g (0.1, 1.2, 9.7) 11.4000
m3 hf (t0 1/2 h, x0 1/2 m2 , y0 1/2 k2 ) 0.2 f (0.1, 3.12, 11.7) 10.6080
k3 hg (t0 1/2 h, x0 1/2 m2 , y0 1/2 k2 ) 0.2 g (0.1, 3.12, 11.7) 13.4160
m4 hf (t0 h, x0 m3 , y0 k3 ) 0.2 f (0.2, 8, 20.216) 19.3760
k4 hg (t0 h, x0 m3 , y0 k3 ) 0.2 g (0.2, 8, 20.216) 21.3776
Ejemplo 3 (3)

Por lo tanto, de (7) obteenmos


1
x1 x0 ( m1 2m2 2m3 m4 )
6
1
1 (4.4 2(8.24) 2(10.608) 19.3760) 9.2453
6

Observe Fig 6.3 y Tabla 6.8, 6.9.


Fig 6.3
Tabla 6.8

tn xn yn
0.00 -1.0000 6.0000
0.20 9.2453 19.0683
0.40 46.0327 55.1203
0.60 158.9430 150.8192
Tabla 6.9

tn xn yn
0.00 -1.0000 6.0000
0.10 2.3840 10.8883
0.20 9.3379 19.1332
0.30 22.5541 32.8539
0.40 46.5103 55.4420
0.50 88.5729 93.3006
0.60 160.7563 152.0025
6.5 Problemas de Valores en la
Frontera de Segundo Orden
Aproximaciones por Diferencias Finitas
El desarrollo en serie de Taylor en a de y(x) es
xa ( x a)2 ( x a )3
y ( x) y (a ) y(a ) y(a ) y(a )
1! 2! 3!
Si ponemos h = x a, entonces
h h2 h3
y ( x) y (a ) y(a ) y(a ) y(a )
1! 2! 3!
Escribiendo la ltima expresin como
(1) h2 h3
yy ( x h) y ( x) y( x)h y( x) y( x)
2 6
(2)
h2 h3
y ( x h) y ( x) y( x)h y( x) y( x)
2 6
Si h es pequea, podemso despreciar y y
trminos de orden mayor,
1 luego
(3) y( x) [ y ( x h) y ( x)
h
1
(4) y( x) [ y ( x) y ( x h)]
h
Al restar (1) de (2) se obtiene tambin
(5) 1
y( x) [ y ( x h) y ( x h)]
2h
Si despreciamos los trminos con h3 y
superores, entonces al sumar (1) y (2)
(6) 1
y( x) 2
[ y ( x h) 2 y ( x) y ( x h)]
h
Los lados derechos de (3), (4), (5), (6) se
denominan cocientes de diferencias, y
estas diferencias se llaman diferencias
finitas.

y(x + h) y(x) : diferencia hacia delante


y(x) y(x h) : diferencia hacia atrs
y(x + h) y(x h): diferencia central
y(x + h) 2y(x) + y(x h): diferencia
central
Mtodo de Diferencias Finitas

Considere el PVF:
y P ( x)(7)
y Q( x) y f ( x) , y (a ) , y (b)
Supongase que a = x0 < x1 < < xn < b
representa una particin regular del intervalo
[a, b], esto es,
xi = a + ih, donde i = 0, 1, 2, ..., n, y h = (b
a)/n.
Estos puntos se llaman puntos de malla
x1 a h , x2 a 2h , , xn1 a (n 1)h
interiores.

Si permitimos que sea


yi = y(xi), Pi = P(xi), Qi = Q(xi), fi = f(xi),
y si y e y en (7) se remplazan por (5)
y (6), entonces tenemos
yi 1 2 yi yi 1 yi 1 yi 1
2
Pi Qi yi fi
h 2h

1 h P y (2 h 2Q ) y 1 h P y h 2 f
i (8)
i 1 i i i i 1 i
2 2

Esto se conoce como ecuacin de


diferencias finitas.
Ejemplo 1

Use (8) con n = 4 para aproximar la solucin


del PVF
y 4 y 0 , y (0) 0 , y (1) 5
Solucin
Tenemos P = 0, Q = 4, f(x) = 0, h = (1
0)/4 = .
De ah que
(9) yi 1 2.25 yi yi 1 0
Los puntos interiores son x1= 0 + 1/4, x2= 0
+ 2/4,
x3= 0 + 3/4, entonces (9) genera
Ejemplo (2)
y2 2.25 y1 y0 0
y3 2.25 y2 y1 0
y4 2.25 y3 y2 0
Junto con y0 = 0, y4 = 5, luego
2.25 y1 y2 0
y1 2.25 y2 y3 0
y2 2.25 y3 5
Obtenemos y1 = 0.7256, y2 = 1.6327, y3 =
2.9479.
Ejemplo 2

Use (8) con n = 10 para aproximar la


solucin del PVF 2
y 3 y 2 y 4 x , y (1) 1 , y (2) 6
Solucin
Tenemos P = 3, Q = 2, f(x) = 4x2,
h = (2 1)/10 = 0.1, de ah que (8) se
transforma 2
1 . 15
(10) i 1y 1 . 98 yi 0 . 85 yi 1 0 . 04 xi

Los puntos interiores x1= 1.1, x2= 1.2, ,


x9= 1.9,
y0 = 1, y10 = 6, luego (10) genera
Ejemplo 2 (2)
1.15 y2 1.98 y1 0.8016
1.15 y3 1.98 y2 0.85 y1 0.0576
1.15 y4 1.98 y3 0.85 y2 0.0676
1.15 y5 1.98 y4 0.85 y3 0.0784
1.15 y6 1.98 y5 0.85 y4 0.0900
1.15 y7 1.98 y6 0.85 y5 0.1024
1.15 y8 1.98 y7 0.85 y6 0.1156
1.15 y9 1.98 y8 0.85 y7 0.1296
1.98 y9 0.85 y8 6.7556
Podemos resolver este sistema de
ecuaciones para obtener y1, y2, , y9.
Mtodo de Disparos

Otra manera de aproximar una solucin se


denomina mtodo de disparos. El punto de
partida de este mtodo es remplazar el PVF
por un PVI:
y f ( x, y, y) , y (a) , y( a ) m1
(11)

donde m1 es simplemente una suposicin.

Esto se deja como ejercicio. Mirese el


problema 14.

You might also like