Método de Runge-Kutta

Em análise numérica, os métodos de Runge–Kutta formam uma família importante de metódos iterativos implícitos e explícitos para a resolução numérica (aproximação) de soluções de equações diferenciais ordinárias. Estas técnicas foram desenvolvidas por volta de 1900 pelos matemáticos C. Runge e M.W. Kutta.

Veja o artigo sobre métodos numéricos para equações diferenciais ordinárias para maior entendimento e para outros métodos. Veja ainda a lista de métodos Runge-Kutta.

Trata-se de um método por etapas que tem a seguinte expressão genérica:

onde

com constantes próprias do esquema numérico. Os esquemas Runge-Kutta podem ser explícitos ou implícitos dependendo das constantes do esquema. Se esta matriz é triangular inferior com todos os elementos da diagonal principal iguais a zero; quer dizer, para os esquemas são explícitos.

O método de runge-kutta é muitas vezes confundido com o metodo "predictor-corrector"sendo este o resultado da junção do método dos trapézios e do método de Euler.

O método Runge–Kutta clássico de quarta ordem

Um membro da família de métodos Runge–Kutta é usado com tanta frequência que costuma receber o nome de "RK4" ou simplesmente "o método Runge–Kutta".

Seja um problema de valor inicial (PVI) especificado como segue:

Então o método RK4 para este problema é dado pelas seguintes equações:

onde é a aproximação por RK4 de e

Então, o próximo valor (yn+1) é determinado pelo valor atual (yn) somado com o produto do tamanho do intervalo (h) e uma inclinação estimada. A inclinação é uma média ponderada de inclinações:

  • k1 é a inclinação no início do intervalo;
  • k2 é a inclinação no ponto médio do intervalo, usando a inclinação k1 para determinar o valor de y no ponto tn + h/2 através do método de Euler;
  • k3 é novamente a inclinação no ponto médio do intervalo, mas agora usando a inclinação k2 para determinar o valor de y;
  • k4 é a inclinação no final do intervalo, com seu valor y determinado usando k3.

Ao fazer a média das quatro inclinações, um peso maior é dado para as inclinações no ponto médio:

O método RK4 é um método de quarta ordem, significando que o erro por passo é da ordem de h5, enquanto o erro total acumulado tem ordem h4.

Note que as fórmulas acima são válidas tanto para funções escalares quanto para funções vetoriais (ou seja, quando y pode ser um vetor e um operador). Por exemplo, pode-se integrar a equação de Schrödinger usando o operador Hamiltoniano como função

Métodos Runge–Kutta explícitos

A família de métodos Runge–Kutta explícitos é uma generalização do método RK4 mencionado acima.

Ela é dada por

onde

(Nota: as equações acima têm definições diferentes em diferentes textos, apesar de equivalentes).

Para especificar um método em particular, é necessário fornecer o inteiro s (número de estágios), e os coeficiêntes aij (para 1 ≤ j <is), bi (para i = 1, 2, ..., s) e ci (para i = 2, 3, ..., s). Esses dados são geralmente dispostos de forma mnemônica, conhecida como matriz de Butcher (de John Charles Butcher):

0

O método Runge–Kutta é consistente se

Existem ainda exigências extras se for imposto que o método tenha certa ordem p, significando que o erro de truncamento é O(hp+1). Tais condições podem ser deduzida da própria definição de erro de truncamento. Por exemplo, um método de 2 estágios tem ordem 2 se b1 + b2 = 1, b2c2 = 1/2, e b2a21 = 1/2.

Exemplos

O método RK4 se enquadra nesta categoria. Seu tableau é:

0
1/21/2
1/201/2
10 01
1/61/31/31/6

No entanto, o método Runge–Kutta mais simples é o (forward) Euler, dado pela fórmula Este é o único método Runge–Kutta explícito de um estágio que é consistente. A tableau correspondente é:

0
1

Um exemplo de um método de segunda ordem com dois estágios é o método do ponto médio (midpoint method, em inglês)

A tableau correspondente é:

0
1/21/2
01

Note que este método do 'ponto médio' não é o método RK2 ótimo. Uma alternativa é fornecida pelo método de Heun, onde os 1/2's da tableau acima são simplesmente substituídos por 1's. Caso se queira minimizar o erro de truncamento, o método abaixo deve ser utilizado (Atkinson p. 423). Outros métodos importantes são Fehlberg, Cash-Karp e Dormand-Prince. Leia ainda, o artigo sobre tamanho de passo Adaptativo.

Uso

O que segue é um exemplo de uso de um método Runge–Kutta explícito de dois estágios:

0
2/32/3
1/43/4

para resolver o problema de valor inicial

com tamanho de passo h=0.025.

A tableau acima gera as seguintes equações equivalentes que definem o método:

As soluções numéricas correspondem aos valores sublinhados. Note que foi calculado evitando refazer os cálculos em s.

Ligações externas

Referências gerais

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.