Aproximaciones numéricas
1 Euler
El método más sencillo para resolver una ecuación de la forma y 0 = f (t, y), y(t0 ) =
y0 , es el método de Euler. La idea central con los métodos numéricos es aproxi-
mar la solución de la ecuación con condición inicial en los puntos t1 , t2 , t3 , . . . , tN ,
con ti = ti−1 +h y h = (tN −t0 )/N . Conociendo la información en t0 , y(t0 ) = y0 ,
podemos aproximar la solución de y en tN . El método puede ser descrito desde
cuatro puntos de vista distintos.
y − y0 = Y 0 (t0 )h = f (t0 , y0 )h
1
⇒ yn+1 = yn + hf (tn , yn )
y 0 (t) = f (t, y)
Uno de los aspectos resaltantes del método es que a medida que dividimos
el tamaño del paso h, los errores también se disminuyen en aproximadamente
la mitad. Es un método sencillo de implementar pero de orden bajo por lo que
dependiendo del gardo de precisión que se desee, el h puede ser muy pequeño.
Una forma de mejorar el método de Euler (Euler mejorado) es utilizar una
mejor aproximación a la integral en (1). Podriamos considerar por ejemplo una
aproximación por trapecios de modo que
Z tn+1
h
f (t, y(t))dt = [f (tn , yn ) + f (tn+1 , yn+1 )]
tn 2
noten que el útimo término hace referencia al valor que queremos aproximar en
esta iteración (yn+1 ), sin embargo podemos usar un paso del método de Euler
para aproximar la solución, obteniendo finalmente:
h
yn+1 = yn + [f (tn , yn ) + f (tn+1 , yn + hf (tn , yn ))])
2
2
de esa manera el método de Euler se rescribe como
yn = yn−1 + hT (1) (t, y)
con T (1) (t, y) = f (t, y). Un método de Taylor de orden 2, se escribe como
yn = yn−1 + hT (2) (t, y)
h i
con T (2) (t, y) = f (t, y) + h/2 ∂f
∂t (t, y) + ∂f
∂y (t, y)f (t, y) . La dificultad de los
métodos de Taylor radica en que es necesario conocer la derivadas parciales de
la función y eso no siempre es tarea fácil. Los métodos de Runge Kutta poseen
las mismas ventajas de los métodos de Euler sin las desventajas asociadas.
3 Métodos Runge-Kutta
Para ejemplificar el método de Runge Kutta, hagamos la derivación de un
método de orden 2. El obejtivo es determinar valores de a1 , α1 , β1 tales que
a1 f (t + α1 , y + β1 ) se aproxime a T (2) (t, y).
Expandimos las dos expresiones:
· ¸
∂f ∂f
T (2) (t, y) = f (t, y) + h/2 (t, y) + (t, y)f (t, y)
∂t ∂y
∂f ∂f
a1 f (t+α1 , y+β1 ) = a1 f (t, y)+a1 α1 (t, y)+a−1β1 (t, y)+a1 R(t+α1 , y+β1 )
∂t ∂y
igualando coeficientes tenemos:
f : a1 = 1 ⇒ a1 = 1
ft : h/2 = a1 α1 ⇒ α1 = h/2
fy : h/2f (t, y) = a1 β1 ⇒ β1 = h/2f (t, y)
∴ T (2) (t, y) ∼
= t(t + h/2, y + h/2f (t, y))
Si tomamos el método de Taylor de orden 2 yn = yn−1 + hT (2) (t, y) y susti-
tuimos a T (2) por su aproximación obtenemos el RK2, mejor conocido como
el método del punto medio. Cuentas similares se pueden llevar para obetener
métodos RK de orden superior (para orden 3, aproximamos a T (3) (t, y) con
f (t + α1 , y + δ1 f (t + α2 , y + δ2 f (t, y)))), siendo el de orden 4 el más utilizado.
El método de orden 4 está descrito por el siguiente conjunto de ecuaciones:
k1 = hf (tn , yn )
k2 = hf (tn + h/2, yn + 1/2k1 )
k3 = hf (tn + h/2, yn + 1/2k2 )
k4 = hf (tn+1 , yn + k3 )
yn+1 = yn + 1/6 (k1 + 2k2 + 2k3 + k4 )
3
4 Simulaciones en Matlab
Los métodos de Euler. Euler mejorado y método del punto medio se pueden
programar fácilmente en Matlab. El método RK4 está implementado como
parte de las funciones intrı́nsecas de Matlab en el algoritmo ODE45.
Si deseamos encontrar la solución a una ecuación con 4 dı́gitos de precisión
(con cual método descrito anteriormente), no podemos garantizar que algún
método en particular logre el cometido con un tamaño del paso escogido ar-
bitrariamente. Sin embargo si hacemos la prueba con un h (digamos 0.1) y
vemos las soluciones aproximadas y luego aproximamos nuevamente la función
con h/10, deberiamos ver que ciertos dı́gitos se estabilizan en las soluciones.
Podemos seguir con este procedimiento (reducir el h) hasta lograr que la solución
se estabilice en los primeros 4 dı́gitos según nuestro requerimiento.