Algoritmo

Algoritmo de Runge-Kutta

Método de Runge-Kutta

O método de Runge-Kutta baseia-se nos mesmos princípios do método de Euler.
Para calcular a aproximação y(x), no ponto xi+1, usa-se uma aproximação linear à curva, y(x).
A equação de Runge-Kutta mais simples de todas é a de primeira ordem, que é obtida através da expansão da serie de Taylor de y(xi+1), ignorando os termos com derivadas de ordem igual ou superior a dois, resultando a equação seguinte:


rk1   (11)


sendo o erro global de truncatura dado por:


rk2  (12)


para ξi do intervalo [x1, xi+1], que é exactamente a equação do método de Euler descrita anteriormante.
Através do mesmo raciocínio, mas truncando a expansão em serie de Taylor após os termos que vêm em função das derivadas de ordem igual ou superior a três, obtém-se outra aproximação para y(xi+1), cuja equação é:


rk3  (13)


ou


rk4     (14)

 

Uma vez que


rk5   (15)


Sendo o erro local de truncatura dado por


rk6  (16)


para ξi do intervalo [x1, xi+1]. Como a equação (14) vem em função das derivadas de f não é muito aconselhável o seu uso. Deve-se então recorrer a uma que lhe seja equivalente. Considere-se então a seguinte expressão na forma geral


rk7  (17)


em que


rk8  (18)

e

rk9  (19)


com α1, α2 e α3 constantes a calcular. Substituindo p e q na equação (17) e usando a expansão em série de Taylor para rk10, obtém-se


rk11     (20)


ou


rk12rk13    (21)

 

Igualando os termos da equação (21) com os da equação (14), obtém-se


rk2_1 e  rk2_2


Arbitrando um valor para α3, pois são duas equações e três incógnitas, conclui-se que α1=α2=1/2.
Sendo a expressão final


rk2_3   (22)


com rk2_4 e rk2_5, definindo-se assim a equação para o método de Runge-Kutta de segunda ordem, sendo esta uma formula explícita de passo único.
A interpretação possível da variação ∆y em (22), com rk2_6, é de uma média pesada para o declive da tangente à curva, y(x), no intervalo [xi, xi+1]. Esta média tem em consideração o declive da tangente a curva em xi e uma aproximação do declive da tangente em xi+1.
Usando a igualdade presente na equação (23)


rk2_7     (23)


obtém-se a expressão para o erro local de truncatura da equação de Runge-Kutta de segunda ordem


rk2_8   (24)


Confirmando-se assim que a equação (23) é de segunda ordem.
Para se obter as fórmulas de Runge-Kutta para ordem superior usa-se um processo semelhante ao das anteriores.
A fórmula de Runge-Kutta de terceira ordem é a seguinte


rk2_9   (25)


com rk2_10, rk2_11 e rk2_12
O erro de truncatura local é O(h4).

A fórmula de Runge-Kutta de quarta ordem, é aquela que das mais conhecidas do método produz melhores resultados. Apesar de não ser a formula mais simples de implementar, pois são necessários quatro cálculos de f, ele tem erro de truncatura local O(h5) e é uma formula de passo único. Para efectuar o calculo de yi+1 apenas é necessário conhecer o ponto anterior (xi, yi),


rk3_1   (26)


com rk3_2, rk3_3, rk3_4 e rk3_5
Os valores de p, q, r e s são estimativas da variação verificada em y no intervalo [xi, xi+1]. Dos valores p e s tem-se estimativas que se baseiam no declive da tangente à curva y(x) no inicio e no fim do intervalo respectivamente. Enquanto que os valores de q e r são estimativas da variação em y baseando-se em aproximações ao declive da tangente à curva, y(x), no ponto médio do intervalo, xi+1/2h.