Vous êtes sur la page 1sur 44

Método de Euler y Análisis de Error

• Introducción
Recuerde la estructura del Método de Euler
yi+1 = yi + hf(xi, yi) (1)

h= tamaño de paso
• Errores en Métodos Numéricos
Una fuente de error que siempre está
presente en los cálculos es el error de rondeo.
Errores de Truncamiento para el
Método de Euler
• Este logaritmo sólo da una aproximación en línea
recta a la solución. Este error se llama error de
truncamiento local, o error de discretización.
Para obtener una fórmula para el error de
truncamiento local del método de Euler, usamos
la fórmula de Taylor con resido.
xa ( x  a) k ( x  a) k 1
y( x)  y(a)  y(a)    y (a)
(k )
y ( k 1)
(c)
1! k! (k  1)!

Donde c es un punto entre a y x.


• Tomando k = 1, a = xi, x = xi+1 = xi + h, tenemos
h h2
y ( xi 1 )  y ( xi )  y( xi )  y(c)
1! 2!
ó
h2
y( xi 1 )  yi  hf ( xi , yi )  y(c)
  2!
yi1

De ahí que el error de truncamiento en yi+1 es


h2
y(c) donde xi < c < xi+1
2!
El valor de c por lo común no se conoce, pero una
cota superior es
h2
M donde M  max | y( x) |, xi  x  xi 1
2! xi  x xi1
• Observación:
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 pequeña.
Método de Euler Mejorado
Método de Heun

f ( xi , yi )  f ( xi 1 , yi*1 ) (3)
yi 1  yi  h
2

donde yi*1  yi  hf ( xi , yi ) (4)

se conoce comunmente como el Método de Euler


Mejorado. Fig 6.1
En general, el método de Euler mejorado es un
ejemplo de método de predictor y corrector.
Fig 6.1
Ejemplo
Use el método de Euler mejorado para obtener el
valor aproximado de y(1.5) para la solución de
y '  2 xy , y (1)  1. Compare los resultados para h = 0.1
y h = 0.05.
Solución
Con x0 = 1, y0 = 1, f(xi, yi) = 2xiyi , 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 siguiente.


Tabla

Valor Error % error


xi yi
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

xi yi Valor Error % error


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 Método
Mejorado de Euler
Observe que el error de truncamiento local es
O(h3).
Métodos de Runge-Kutta
• Métodos de Runge-Kutta
Todos los métodos de Runge-Kutta son
generalizaciones de la fórmula básica de Euler, en la
que la función pendiente f se remplaza por un
promedio ponderado de pendientes en el intervalo
xi  x  xi+1
yi 1  yi  h(a1k1  a2 k 2    an k n ) (1)
donde las ponderaciones aj, i = 1, 2, …, n son
constantes que satisfacen a1 + a2 + … + an = 0, y kj es
la función evaluada en un punto seleccionado (x, y)
para el cual xi  x  xi+1.
El número n se llama el orden. Si tomamos
n = 1, a1 = 1, k1 = f(xi , yi), llegamos al método
de Euler. Por consiguiente, se dice que el
método de Euler es un método de Runge-
Kutta de primer orden.
Método de Runge-Kutta de orden n
Los métodos de Runge-Kutta de orden n usan la ecuación
recursiva.
yi 1  yi  (a1k1  a2 k2  a3k3  a4 k4  ....  an kn )h

Donde:

k1  f ( xi , yi )
k 2  f ( xi  p1h, yi  q11hk1 )
k3  f ( xi  p2 h, yi  q21k1  q2 2 k 2 )
k 4  f ( xi  p3 h, yi  q31hk1  q3 2 hk 2  q33hk3 )
.
k n  f ( xi  pn 1h, yi  qn 11hk1  qn 12 hk 2  qn 13hk3  ....  qn 1n 1hk n 1 )
Método de Runge-Kutta de Segundo Orden
• Tratamos de hallar unas constantes de modo que la
fórmula
yi 1  yi  a1k1  a2 k2 (2)
donde k1= f(xi, yi),
k2= f(xi+p1h, yn+q11k1h)
concuerde con un polinomio de Taylor de grado 2.
Las constantes deben satisfacer
1 1 (3)
a1  a2  1, a2 p1  , y a2 q11 
2 2
luego
1 1
a1  1  a2 , p1  , y q11  (4)
2 a2 2a2
donde a2  0.
Método de Heun
Escogemos a2 = ½ , de donde a1 = ½ , p1 = 1,
q11= 1, y (2) se transforma en
1 1
yi 1  yi  ( k1  k 2 )h
2 2

donde k1= f(xi, yi), k2= f(xi+h, yi+k1h).


Puesto que xi + h = xi+1, yi + k1h= yi + hf(xi, yi), es
idéntica al método de Euler mejorado.
Método de Punto Medio

yi 1  yi  k2 h
Método de Ralson

1 2
yi 1  yi  ( k1  k 2 )h
3 3
Método de Runge-Kutta de Tercer Orden

• Tratamos de hallar parámetros de modo que la


fórmula
yi 1  yi  (a1k1  a2 k2  a3k3 )h (5)
donde k1  f ( xi , yi )
k 2  f ( xi  p1h, yi  q11hk1 )
k3  f ( xi  p2 h, yi  q21k1  q2 2 k 2 )

concuerde con un polinomio de Taylor de orden 3.


Método de Runge-Kutta de Cuarto Orden

• Tratamos de hallar parámetros de modo que la


fórmula
yi 1  yi  (a1k1  a2 k2  a3k3  a4 k4 )h (5)
donde k1  f ( xi , yi )
k 2  f ( xi  p1h, yi  q11hk1 )
k3  f ( xi  p2 h, yi  q21k1  q2 2 k 2 )
k 4  f ( xi  p3 h, yi  q31hk1  q3 2 hk 2  q33 hk3 )

concuerde con un polinomio de Taylor de orden 4.


Método Clásico de orden 3
El conjunto de valores usado con más
frecuencia para los parámetros produce el
siguiente resultado

h
yi 1  yi  (k1  4k 2  k3 )
6
k1  f ( xi , yi )
h h (6)
k 2  f ( xi  , yi  k1 )
2 2
k3  f ( xi  h, yi  hk1  2hk 2 )
Método Clásico de 4 orden
El conjunto de valores usado con más
frecuencia para los parámetros produce el
siguiente resultado
h
yi 1  yi  (k1  2k 2  2k3  k 4 )
6
k1  f ( xi , yi )
h h
k 2  f ( xi  , yi  k1 ) (6)
2 2
h h
k3  f ( xi  , yi  k 2 )
2 2
k 4  f ( xi  h, yi  hk3 )
Ejemplo
Use el método RK4 con h = 0.1 para obtener y(1.5) para
la solución de y’ = 2xy, y(1) = 1.
Solución
Primero se calcula el caso i = 0.
hk1  (0.1) f ( x0 , y0 )  (0.1)( 2 x0 y0 )  0.2
hk 2  (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
hk3  (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
hk 4  (0.1) f ( x0  0.1, y0  0.234255)
 (0.1)2( x0  0.1)( y0  0.234255)  0.2715361
Ejemplo (2)

Por lo tanto,
1
y1  y0  (hk1  2hk 2  2hk3  hk 4 )
6
1
 1  (0.2  2(0.231)  2(0.234255)  0.2715361)
6
 1.23367435

Véase la Tabla
Tabla h=0.1

xi yi Valor Error % error


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 esta Tabla comparan algunos resultados.
h = 0.1 h = 0.05
Euler Valor Euler Valor
xi Euler RK4 xi 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 Método 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 truncamiento
local del método RK4 aplicado a y '  2 xy , y (1)  1
Solución
Al calcular la quinta derivada de la solución conocida
y ( x)  e x 1 ,se obtiene
2

5 5
h 5 c 1 h
2
y (c)  (120c  160c  32c )e
( 5) 3
(7)
5! 5!
Así con c = 1.5, entonces (7) = 0.00028.
La Tabla 6.7 proporciona aproximaciones a la solución del
problema de valor inicial en x = 1.5 por el método RK4.
Tabla 6.7

h Aproximación Error
0.1 3.49021064 1.32321089  10-4
0.05 3.49033382 9.13776090  10-6
Ecuaciones de Orden Superor y Sistemas

• PVI de Segundo Orden


Una PVI
y  f ( x, y, y) , y ( x0 )  y0 , y( x0 )  u0 (1)
puede expresarse como
y  u
u   f ( x, y , u ) (2)
Como y’(x0) = u0, entonces y(x0) = y0, u(x0) = u0.
Aplicando el método de Euler (2)
yi 1  yi  hui
(3)
ui 1  ui  hf ( xi , yi , ui )
Mientras que al aplicar el método RK4:
h
yi 1  yi  (m1  2m2  2m3  m4 ) (4)
6
h
ui 1  ui  (k1  2k 2  2k3  k 4 )
6
donde
m1  hui  hui k1  f ( xi , yi , ui )
m2  (ui  h / 2 k1 ) k 2  f ( xi  1/ 2 h, yi  h / 2 m1 , ui  h / 2 k1 )
m3  (ui  h / 2 k 2 ) k3  f ( xi  1/ 2 h, yi  h / 2 m2 , ui  h / 2 k 2 )
m4  (ui  hk3 ) k 4  f ( xi  h, yi  hm3 , ui  hk3 )

( n1)
En general, y ( n)
 f ( x, y , y ' ,  , y )
Ejemplo 1
Use el método de Euler para obtener y(0.2),
donde
y  xy  y  0 , y(0)  1 , y(0)  2 (5)
Solución
Sea y’ = u, entonces (5) se transforma en
y  u
u   xu  y
De (3) yi 1  yi  hui
ui 1  ui  h[ xi ui  yi ]
Ejemplo 1 (2)

Usando h = 0.1, y0 = 1, u0 = 2, determinamos


y1  y0  (0.1)u0  1  (0.1)2  1.2
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
• En la figura se compara la curva solución generada
mediante el método de Euler con la curva solución
generada mediante el método 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.
Solución
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 la forma


x  u
y  v
u  9 x  4 y  u  et  6t 2
v  2 x  2 y  3t 2
Solución Numérica de un Sistema

• La solución 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 métodos
numéricos.
Por ejemplo, mediante el método RK4:
x  f (t , x, y )
y  g (t , x, y )
x(t0 )  x0 , y (t0 )  y0 (6)

se parece a esto:
h
xi 1  xi  xi  (m1  2m2  2m3  m4 )
6
h
yi 1  yi  (k1  2k 2  2k3  k 4 ) (7)
6
donde

m1  f (ti , xi , yi ) k1  g (ti , xi , yi )
m2  f (ti  1/ 2 h, xi  h / 2 m1 , yi  h / 2 k1 ) k 2  g (ti 1 / 2 h, xi  h / 2 m1 , yi  h / 2 k1 )
m3  f (ti  1/ 2 h, xi  h / 2 m2 , yi  h / 2 k 2 ) k3  g (ti  1/ 2 h, xi  h / 2 m2 , yi  h / 2 k 2 )
m4  f (ti  h, xi  hm3 , yi  hk3 ) k 4  g (t n  h, xi  hm3 , yi  hk3 )

(8)
Ejemplo 3

Considere x  2 x  4 y
y   x  6 y
x(0)  1 , y (0)  6

Use el método RK4 para aproximar x(0.6) y y(0.6)


con h = 0.2 y h = 0.1.
Solución
Con h = 0.2 y los datos proporcionados, de (8)
Ejemplo 3 (2)

hm1  hf (t0 , x0 , y0 )  0.2 f (0,  1, 6)  0.2[2(1)  4(6)]  4.4000


hk1  hg (t0 , x0 , y0 )  0.2 g (0,  1, 6)  0.2[1(1)  6(6)]  7.4000
hm2  hf (t0  1/ 2 h, x0  1/ 2 m1 , y0  1/ 2 k1 )  0.2 f (0.1, 1.2, 9.7)  8.2400
hk 2  hg (t0  1/ 2 h, x0  1/ 2 m1 , y0  1/ 2 k1 )  0.2 g (0.1, 1.2, 9.7)  11.4000
hm3  hf (t0  1/ 2 h, x0  1/ 2 m2 , y0  1/ 2 k 2 )  0.2 f (0.1, 3.12, 11.7)  10.6080
hk3  hg (t0  1/ 2 h, x0  1/ 2 m2 , y0  1/ 2 k 2 )  0.2 g (0.1, 3.12, 11.7)  13.4160
hm4  hf (t0  h, x0  m3 , y0  k3 )  0.2 f (0.2, 8, 20.216)  19.3760
hk 4  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  (hm1  2hm2  2hm3  hm4 )
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.


Figura
Tabla

ti xi yi
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

ti xi yi

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

Vous aimerez peut-être aussi