Metodos de Runge
Kutta
Diego R.
Tramontina
Características
1er Orden
2do Orden
3er Orden
4to Orden
Propuestas
Metodos de Runge Kutta
Diego R. Tramontina
Metodos Numéricos y Computacion
27 de junio de 2012
Metodos de Runge
Kutta
Diego R.
Tramontina
Características
1er Orden
2do Orden
3er Orden
4to Orden
Propuestas
Características
Para resolución de EDO’s - Problemas de Valor Inicial
˙y = dy
dt = f (y, t), y(t0) = y0
Métodos "sin memoria"
Requieren del conocimiento de un solo valor de la
función
forma general: yn+1 = yn + tn+1
tn
f (y, t)dt
El error para un método R-K de orden (n) es
proporcional a (n+1)
Metodos de Runge
Kutta
Diego R.
Tramontina
Características
1er Orden
2do Orden
3er Orden
4to Orden
Propuestas
Runge-Kutta de 1er orden
Modelo General
˙y = f (y, t), y(x0) = y0 −→ yn+1 = yn + tn+1
tn
f (y, t)dt
Si aproximamos el resultado de la integral mediante el
método de Euler queda:
yn+1 = yn + hf (y, t) + O(h2
)
Algoritmo
Defino parámetros h, ti , tf .y0
Defino valores de inicialización
y = y0; t = ti
Calculo recursivamente hasta t = tf :
y = y + hf (y, t)
t = t + h
Salida y
Metodos de Runge
Kutta
Diego R.
Tramontina
Características
1er Orden
2do Orden
3er Orden
4to Orden
Propuestas
Ejemplo
Evaluar ˙y = 2xy, y(1) = 1 y h = 0,1. Cuál es el valor para
y(1,5) ?
Resultado
y(1,5) = 2,927812608
yp(1,5) = 3,49034295746
error = 0,1611676435
Metodos de Runge
Kutta
Diego R.
Tramontina
Características
1er Orden
2do Orden
3er Orden
4to Orden
Propuestas
Runge Kutta de 2do Orden
Modelo General
˙y = f (y, t), y(x0) = y0 −→ yn+1 = yn + tn+1
tn
f (y, t)dt
Si ahora para calcular la integral, aproximamos el resultado
de la integral mediante la Regla del Trapecio:
yn+1 = yn + h
2 [f (yn, tn) + f (y∗n+1, tn+1)] + O(h3)
y∗n+1 = yn + hf (y, t)
Algoritmo
Defino parámetros h, ti , tf .y0
Defino valores de inicialización
y = y0; t = ti
Calculo recursivamente hasta t = tf :
k1 = hf (y, t)
k2 = hf (y + k1.t + h)
y = yn + h
2
(k1 + k2)
t = t + h
Salida y
Metodos de Runge
Kutta
Diego R.
Tramontina
Características
1er Orden
2do Orden
3er Orden
4to Orden
Propuestas
Ejemplo
Evaluar ˙y = 2xy, y(1) = 1 y h = 0,1. Cuál es el valor para
y(1,5) ?
Resultado
y(1,5) = 2,927812608
yp(1,5) = 3,49034295746
error = 0,1611676435
Resultado
y(1,5) = 3,45092850714
yp(1,5) = 3,49034295746
error = 0,0112924290819
Metodos de Runge
Kutta
Diego R.
Tramontina
Características
1er Orden
2do Orden
3er Orden
4to Orden
Propuestas
Runge Kutta de 3er Orden
Modelo General
˙y = f (y, t), y(x0) = y0 −→ yn+1 = yn + tn+1
tn
f (y, t)dt
yn+1 = yn +
1
6
(k1 + 4k2 + k3) + O(h
4
)
k1 = hf (yn, tn)
k2 = hf (yn +
k1
2
, tn + h
2
)
k3 = hf (yn − k1 + 2k2, tn + h)
Algoritmo
Defino parámetros h, ti , tf .y0
Defino valores de inicialización
y = y0; t = ti
Calculo recursivamente hasta t = tf :
k1, k2, k3
y = yn + 1
6
(k1 + 4k2 + k3)
t = t + h
Salida y
Metodos de Runge
Kutta
Diego R.
Tramontina
Características
1er Orden
2do Orden
3er Orden
4to Orden
Propuestas
Ejemplo
Evaluar ˙y = 2xy, y(1) = 1 y h = 0,1. Cuál es el valor para
y(1,5) ?
Resultado
y(1,5) = 2,927812608
yp(1,5) = 3,49034295746
error = 0,1611676435
Resultado
y(1,5) = 3,45092850714
yp(1,5) = 3,49034295746
error = 0,0112924290819
Resultado
y(1,5) = 3,48803020727
yp(1,5) = 3,49034295746
error = 0,000662614022604
Metodos de Runge
Kutta
Diego R.
Tramontina
Características
1er Orden
2do Orden
3er Orden
4to Orden
Propuestas
Runge Kutta de 4to Orden
Modelo General
˙y = f (y, t), y(x0) = y0 −→ yn+1 = yn + tn+1
tn
f (y, t)dt
yn+1 = yn +
1
6
(k1 + 2k2 + 2k3 + k4) + O(h
5
)
k1 = hf (yn, tn)
k2 = hf (yn +
k1
2
, tn + h
2
)
k3 = hf (yn +
k2
2
, tn + h
2
)
k4 = hf (yn + k3, tn + h)
Algoritmo
Defino parámetros h, ti , tf .y0
Defino valores de inicialización
y = y0; t = ti
Calculo recursivamente hasta t = tf :
k1, k2, k3, k4
y = yn + 1
6
(k1 + 2k2 + 2k3 + k4)
t = t + h
Salida y
Metodos de Runge
Kutta
Diego R.
Tramontina
Características
1er Orden
2do Orden
3er Orden
4to Orden
Propuestas
Ejemplo
Evaluar ˙y = 2xy, y(1) = 1 y h = 0,1. Cuál es el valor para
y(1,5) ?
Resultado
y(1,5) = 2,927812608
yp(1,5) = 3,49034295746
error = 0,1611676435
Resultado
y(1,5) = 3,45092850714
yp(1,5) = 3,49034295746
error = 0,0112924290819
Resultado
y(1,5) = 3,48803020727
yp(1,5) = 3,49034295746
error = 0,000662614022604
Resultado
y(1,5) = 3,49021063637
yp(1,5) = 3,49034295746
error = 3,79106266931e−5
Metodos de Runge
Kutta
Diego R.
Tramontina
Características
1er Orden
2do Orden
3er Orden
4to Orden
Propuestas
Aspectos que pueden trabajarse en este tema
Analizar cómo se comporta el error, al variar el paso de
h a h
2 : Cuál es la respuesta de cada una de las variantes
vistas?
Proponer un método de paso variable para lograr un
error (relativo) máximo
Comentar cómo se implementan estos métodos en la
rutina RKF45 (ver Press et.al., Numerical Recipes,
Cambridge U.P.(1988),cap.16,p.714)

Runge Kutta Methods

  • 1.
    Metodos de Runge Kutta DiegoR. Tramontina Características 1er Orden 2do Orden 3er Orden 4to Orden Propuestas Metodos de Runge Kutta Diego R. Tramontina Metodos Numéricos y Computacion 27 de junio de 2012
  • 2.
    Metodos de Runge Kutta DiegoR. Tramontina Características 1er Orden 2do Orden 3er Orden 4to Orden Propuestas Características Para resolución de EDO’s - Problemas de Valor Inicial ˙y = dy dt = f (y, t), y(t0) = y0 Métodos "sin memoria" Requieren del conocimiento de un solo valor de la función forma general: yn+1 = yn + tn+1 tn f (y, t)dt El error para un método R-K de orden (n) es proporcional a (n+1)
  • 3.
    Metodos de Runge Kutta DiegoR. Tramontina Características 1er Orden 2do Orden 3er Orden 4to Orden Propuestas Runge-Kutta de 1er orden Modelo General ˙y = f (y, t), y(x0) = y0 −→ yn+1 = yn + tn+1 tn f (y, t)dt Si aproximamos el resultado de la integral mediante el método de Euler queda: yn+1 = yn + hf (y, t) + O(h2 ) Algoritmo Defino parámetros h, ti , tf .y0 Defino valores de inicialización y = y0; t = ti Calculo recursivamente hasta t = tf : y = y + hf (y, t) t = t + h Salida y
  • 4.
    Metodos de Runge Kutta DiegoR. Tramontina Características 1er Orden 2do Orden 3er Orden 4to Orden Propuestas Ejemplo Evaluar ˙y = 2xy, y(1) = 1 y h = 0,1. Cuál es el valor para y(1,5) ? Resultado y(1,5) = 2,927812608 yp(1,5) = 3,49034295746 error = 0,1611676435
  • 5.
    Metodos de Runge Kutta DiegoR. Tramontina Características 1er Orden 2do Orden 3er Orden 4to Orden Propuestas Runge Kutta de 2do Orden Modelo General ˙y = f (y, t), y(x0) = y0 −→ yn+1 = yn + tn+1 tn f (y, t)dt Si ahora para calcular la integral, aproximamos el resultado de la integral mediante la Regla del Trapecio: yn+1 = yn + h 2 [f (yn, tn) + f (y∗n+1, tn+1)] + O(h3) y∗n+1 = yn + hf (y, t) Algoritmo Defino parámetros h, ti , tf .y0 Defino valores de inicialización y = y0; t = ti Calculo recursivamente hasta t = tf : k1 = hf (y, t) k2 = hf (y + k1.t + h) y = yn + h 2 (k1 + k2) t = t + h Salida y
  • 6.
    Metodos de Runge Kutta DiegoR. Tramontina Características 1er Orden 2do Orden 3er Orden 4to Orden Propuestas Ejemplo Evaluar ˙y = 2xy, y(1) = 1 y h = 0,1. Cuál es el valor para y(1,5) ? Resultado y(1,5) = 2,927812608 yp(1,5) = 3,49034295746 error = 0,1611676435 Resultado y(1,5) = 3,45092850714 yp(1,5) = 3,49034295746 error = 0,0112924290819
  • 7.
    Metodos de Runge Kutta DiegoR. Tramontina Características 1er Orden 2do Orden 3er Orden 4to Orden Propuestas Runge Kutta de 3er Orden Modelo General ˙y = f (y, t), y(x0) = y0 −→ yn+1 = yn + tn+1 tn f (y, t)dt yn+1 = yn + 1 6 (k1 + 4k2 + k3) + O(h 4 ) k1 = hf (yn, tn) k2 = hf (yn + k1 2 , tn + h 2 ) k3 = hf (yn − k1 + 2k2, tn + h) Algoritmo Defino parámetros h, ti , tf .y0 Defino valores de inicialización y = y0; t = ti Calculo recursivamente hasta t = tf : k1, k2, k3 y = yn + 1 6 (k1 + 4k2 + k3) t = t + h Salida y
  • 8.
    Metodos de Runge Kutta DiegoR. Tramontina Características 1er Orden 2do Orden 3er Orden 4to Orden Propuestas Ejemplo Evaluar ˙y = 2xy, y(1) = 1 y h = 0,1. Cuál es el valor para y(1,5) ? Resultado y(1,5) = 2,927812608 yp(1,5) = 3,49034295746 error = 0,1611676435 Resultado y(1,5) = 3,45092850714 yp(1,5) = 3,49034295746 error = 0,0112924290819 Resultado y(1,5) = 3,48803020727 yp(1,5) = 3,49034295746 error = 0,000662614022604
  • 9.
    Metodos de Runge Kutta DiegoR. Tramontina Características 1er Orden 2do Orden 3er Orden 4to Orden Propuestas Runge Kutta de 4to Orden Modelo General ˙y = f (y, t), y(x0) = y0 −→ yn+1 = yn + tn+1 tn f (y, t)dt yn+1 = yn + 1 6 (k1 + 2k2 + 2k3 + k4) + O(h 5 ) k1 = hf (yn, tn) k2 = hf (yn + k1 2 , tn + h 2 ) k3 = hf (yn + k2 2 , tn + h 2 ) k4 = hf (yn + k3, tn + h) Algoritmo Defino parámetros h, ti , tf .y0 Defino valores de inicialización y = y0; t = ti Calculo recursivamente hasta t = tf : k1, k2, k3, k4 y = yn + 1 6 (k1 + 2k2 + 2k3 + k4) t = t + h Salida y
  • 10.
    Metodos de Runge Kutta DiegoR. Tramontina Características 1er Orden 2do Orden 3er Orden 4to Orden Propuestas Ejemplo Evaluar ˙y = 2xy, y(1) = 1 y h = 0,1. Cuál es el valor para y(1,5) ? Resultado y(1,5) = 2,927812608 yp(1,5) = 3,49034295746 error = 0,1611676435 Resultado y(1,5) = 3,45092850714 yp(1,5) = 3,49034295746 error = 0,0112924290819 Resultado y(1,5) = 3,48803020727 yp(1,5) = 3,49034295746 error = 0,000662614022604 Resultado y(1,5) = 3,49021063637 yp(1,5) = 3,49034295746 error = 3,79106266931e−5
  • 11.
    Metodos de Runge Kutta DiegoR. Tramontina Características 1er Orden 2do Orden 3er Orden 4to Orden Propuestas Aspectos que pueden trabajarse en este tema Analizar cómo se comporta el error, al variar el paso de h a h 2 : Cuál es la respuesta de cada una de las variantes vistas? Proponer un método de paso variable para lograr un error (relativo) máximo Comentar cómo se implementan estos métodos en la rutina RKF45 (ver Press et.al., Numerical Recipes, Cambridge U.P.(1988),cap.16,p.714)