El método de Runge-Kutta orden 4 para sistemas es una extensión del método numérico usado para resolver una ecuación de la forma
al caso de un sistema de
de tales ecuaciones, es decir permite resolver:

Si
, entonces el sistema anterior se puede representar vectorialmente como
, de forma que si se aproxima
con
(con
, entonces podemos escribir el método como:
![]()
donde
para
y una condición inicial
. En el archivo ordinarias.rkt, se implementa en Scheme/DrRacket (versión 5.3) este método.
Ejemplo: veamos el caso de las ecuaciones clásicas de Lorenz (ver atractor de Lorenz):

Estas ecuaciones con los valores
,
y
, generan la trayectoria de solución indicada en la figura, cuando se inicia en el punto
.
Le invitamos a explorar el código en lorenz.rkt (y archivos auxiliares: ordinarias.rkt, derivaciones.rkt, vectoriales.rkt, basicas.rkt, para Scheme/DrRacket [versión 5.3]). Las instrucciones básicas utilizadas son:
(define sigma 10) (define beta 8/3) (define rho 28) (define fs (list (lambda(t x y z) (* 10 (- y x))) (lambda(t x y z) (- (* 28 x) y (* x z))) (lambda(t x y z) (- (* x y) (* 8/3 z))))) (define sols (srk4-h fs 0 30 '(10 7 7) 0.005))
|
1 2 3 4 5 6 7 8 9 10 |
>sols ((0 0 (10 7 7)) (1 0.005 (9.8783782 7.9989081 7.2774597)) (2 0.01 (9.8106654 8.9683908 7.5958386)) (3 0.015 (9.7928907 9.9121323 7.9547719)) ... (5997 29.985 (11.0238911 2.493518 37.9423877)) (5998 29.99 (10.5944435 1.9552066 37.5591314)) (5999 29.995 (10.1607752 1.4611159 37.1495811)) (6000 30.0 (9.725236 1.0106386 36.7184511))) |
Note que (en este caso) se incluye en la lista de puntos solución
donde
para ![]()
Observación: si se desea resolver una ecuación diferencial de orden superior, es suficiente utilizar cambios de variable y convertir dicha ecuación a un sistema equivalente de ecuaciones diferenciales de primer orden. Por ejemplo la ecuación
![]()
asociada a un resorte, se puede convertir a un sistema de dos ED de primer orden, introduciendo la variable
, con lo cual
y entonces el sistema equivalente es:

Nota: se corrigió en mordinarias.rkt la función srk4-h (y en consecuencia la gráfica de Lorenz), favor de actualizar a versión 0.4; gracias y una disculpa [2011.12.23]




donde las 




![Rendered by QuickLaTeX.com \int_a^b f(x)dx \approx \frac{h}{3}[f(a)+f(b)+2 \displaystyle\sum_{j=1}^{\frac{n}{2}-1} f(x_{2j})+4 \displaystyle\sum_{j=1}^{n/2} f(x_{2j-1})]](http://matikai.com/zen/wp-content/ql-cache/quicklatex.com-618b50f65c56f1d9a9ad23048482534a_l3.png)


