Método de Runge-Kutta

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

En análisis numérico, los métodos de Runge-Kutta son un conjunto de métodos genéricos iterativos, explícitos e implícitos, de resolución numérica de ecuaciones diferenciales. Este conjunto de métodos fue inicialmente desarrollado alrededor del año 1900 por los matemáticos C. Runge y M. W. Kutta.

Descripción[editar]

Los métodos de Runge-Kutta (RK) son un conjunto de métodos iterativos (implícitos y explícitos) para la aproximación de soluciones de ecuaciones diferenciales ordinarias, concretamente, del problema de valor inicial.

Sea

y'(t) = f(t, y(t)) \,

una ecuación diferencial ordinaria, con  f: \Omega \subset \mathbb{R} \times \mathbb{R}^n \to \mathbb{R}^n donde \Omega \, es un conjunto abierto, junto con la condición de que el valor inicial de ƒ sea

(t_0, y_0) \in \Omega.

Entonces el método RK (de orden s) tiene la siguiente expresión, en su forma más general:

y_{n+1} = y_n + h\,\sum_{i=1}^s b_ik_i,

donde h es el paso por iteración, o lo que es lo mismo, el incremento \Delta t_n entre los sucesivos puntos t_n y t_{n+1}. Los coeficientes k_i son términos de aproximación intermedios, evaluados en ƒ de manera local

k_i = f \left( t_n + h\, c_i\, , y_n + h\,\sum_{j=1}^s a_{ij}k_j \right ) \quad i=1,...,s.

con  a_{ij}, b_i,  c_i coeficientes propios del esquema numérico elegido, dependiente de la regla de cuadratura utilizada. Los esquemas Runge-Kutta pueden ser explícitos o implícitos dependiendo de las constantes  a_{ij} del esquema. Si esta matriz es triangular inferior con todos los elementos de la diagonal principal iguales a cero; es decir,  a_{ij}=0 para j=i,...,s , los esquemas son explícitos.

Ejemplo[editar]

Esquema Runge-Kutta de dos etapas, una en  t=t_n y otra en t=t_n + \Delta t_n . ƒ(t,y(t)) en la primera etapa es:

 f_n=k_1 = f(t_n, y_n) \,

Para estimar ƒ(t,y) en t=t_n + \Delta t_n se usa un esquema Euler

 f_{n+1}=k_2=f( t_n + \Delta t_n\, , y_n+\Delta t_n k_1 ). \,

Con estos valores de ƒ, se sustituyen en la ecuación

 y_{n+1} = y_n + \int_{t_n}^{t_{n+1}} f(t,y(t))\,dt,

de manera que se obtiene la expresión:

y_{n+1}=y_{n} + {{\Delta t_n}\over 2} (k_1 + k_2).

Los coeficientes propios de este esquema son:  b_1=b_2=1/2; a_{21}=1; c_2=1.

Variantes[editar]

Existen variantes del método de Runge-Kutta clásico, también llamado Runge-Kutta explícito, tales como la versión implícita del procedimiento o las parejas de métodos Runge-Kutta (o métodos Runge-Kutta-Fehlberg).

Este último consiste en ir aproximando la solución de la ecuación mediante dos algoritmos Runge-Kutta de órdenes diferentes, para así mantener el error acotado y hacer una buena elección de paso.

Métodos de Runge-Kutta[editar]

El método de Runge-Kutta no es sólo un único método, sino una importante familia de métodos iterativos, tanto implícitos como explícitos, para aproximar las soluciones de ecuaciones diferenciales ordinarias (E.D.O´s); estas técnicas fueron desarrolladas alrededor de 1900 por los matemáticos alemanes Carl David Tolmé Runge y Martin Wilhelm Kutta.

Métodos de Runge-Kutta de cuarto orden[editar]

Un miembro de la familia de los métodos Runge-Kutta es usado tan comúnmente que a menudo es referenciado como «RK4» o como «el método Runge-Kutta».

Definiendo un problema de valor inicial como:

 y' = f(x, y), \quad y(x_0) = y_0

Entonces el método RK4 para este problema está dado por la siguiente ecuación:

y_{i+1} = y_i + {1 \over 6}h\left ( k_1 + 2k_2 + 2k_3 + k_4 \right )

Donde


\begin{cases}
 k_1 & =  f \left( x_i, y_i \right) \\
 k_2 & =  f \left( x_i + {1 \over 2}h, y_i + {1 \over 2}k_1 h \right) \\
 k_3 & =  f \left( x_i + {1 \over 2}h, y_i + {1 \over 2}k_2 h \right) \\
 k_4 & =  f \left( x_i + h, y_i + k_3 h \right) \\
\end{cases}

Así, el siguiente valor (yn+1) es determinado por el presente valor (yn) más el producto del tamaño del intervalo (h) por una pendiente estimada. La pendiente es un promedio ponderado de pendientes, donde k_1 es la pendiente al principio del intervalo, k_2 es la pendiente en el punto medio del intervalo, usando k_1 para determinar el valor de y en el punto \scriptstyle x_n + \frac{h}{2} usando el método de Euler. k_3 es otra vez la pendiente del punto medio, pero ahora usando k_2 para determinar el valor de y; k_4 es la pendiente al final del intervalo, con el valor de y determinado por k_3. Promediando las cuatro pendientes, se le asigna mayor peso a las pendientes en el punto medio:

 \mbox{pendiente} = \frac{k_1 + 2k_2 + 2k_3 + k_4}{6}.

Esta forma del método de Runge-Kutta, es un método de cuarto orden lo cual significa que el error por paso es del orden de O(h^5), mientras que el error total acumulado tiene el orden O(h^4). Por lo tanto, la convergencia del método es del orden de O(h^4), razón por la cual es usado en los métodos computacionales, mientras sean mononúcleo ya que es un método que es muy costoso al paralelizarlo, por lo que se prefieren otros.

Véase también[editar]

Referencias[editar]

  • Ascher, Uri M.; Petzold, Linda Ruth (1998). Computer methods for ordinary differential equations and differential-algebraic equations (en inglés) (1ª edición). Philadelphia (USA): SIAM. ISBN 0898714125. 
  • Richard L. Burden, J. Douglas Faires (2001). 7, ed. Análisis Numérico. Cengage Learning Latin America. ISBN 9706861343. 

Enlaces externos[editar]