Métodos de Runge-Kutta
Teoria
Introdução
Mas que raios de método com nome estranho é esse? Seguinte, vem comigo.
Dos métodos numéricos que nós conhecemos que servem para calcular a solução aproximada de problemas de valor inicial (PVI), os métodos de Runge-Kutta são os mais utilizados.
Isso acontece, devido a sua simplicidade e precisão, bem próximo aos métodos de Taylor. Só que diferença é que ele é mais vantajoso, já que conseguimos fugir daquelas derivadas de ordem elevada, que além de ser mega complicado de resolver, exigiria um esforço gigante computacional.
E muito pelo contrário, é um método baseado em avaliar a função em alguns pontos. Os métodos de Runge-Kutta simplesmente pegam as coisas boas do método de série de Taylor e tiram as derivadas haha. Show de bola né?
E eles tem três propriedades principais:
- São de passo 1;
- Não precisa calcular derivada nenhuma! No lugar, calculamos ou ;
- A fórmula do método concorda com a do método de série de Taylor até os termos da ordem do método.
Pela propriedade deu pra perceber que esse método tem diferentes ordens né? Vamos dar uma olhada nelas!
Métodos de 1ª ordem
O método de Runge-Kutta de primeira ordem é o mais simples. Não tem muitos parâmetros para determinar, e coincide com o método de Euler e também com o de Taylor de ordem 1.
Hmmm... como assim?
A série de Taylor de primeira ordem fica assim:
Como vimos ali encima, a diferença do método de Runge-Kutta (RK) para o método de Taylor é que em RK nós simplesmente tiramos a derivada e trocamos por :
Reconheceu? É o método de Euler! Coisa que nós já conhecemos bem!
Métodos de 2ª ordem
Os métodos de Runge-Kutta de segunda ordem têm a seguinte fórmula geral:
Eita! Ta feio isso né? Podemos substituir aí e . Vai ficar mais ou menos assim:
Não sei pra você.... mas isso me lembra alguma coisa! O método de Euler Aperfeiçoado... pois é, é mais um método de Runge-Kutta que nós conhecemos bem.
Só pra recapitular, tem umas condições pra que nosso atual método (RK) combine com o ex (Série de Taylor de 2ª ordem) hahahahaha.
Vamos precisar que:
Seguindo essas condições, existem infinitos métodos além do de Euler Aperfeiçoado que são métodos de Runge-Kutta de 2ª ordem.
Métodos de ordem superior
Existem métodos de Runge-Kutta para a ordem que quisermos, vamos dar uma olhadinha em 3ª e 4ª ordem:
3ª ordem:
O método de RK de quarta ordem é bem popular, tem uma abordagem parecida com o de Euler modificado, já que ele deseja desenvolver várias estimativas para a inclinação e utiliza a média para melhorar o intervalo.
4ª ordem:
É isso aí, meio ruim de gravar né? Pode ser que seu professor nem cobre ou ensine esses de ordem mais alta, mas é melhor prevenir haha.
O grande problema, é que depois da 4ª ordem aumenta a complexidade computacional.
Considerações finais
Apesar dos métodos de Runge-Kutta corrigirem um problema que é o cálculo de derivadas, eles não são perfeitos. Temos a desvantagem de não existir uma maneira simples de estimarmos o erro, portanto pode ser difícil escolher um .
Para a nossa sorte, 99% das vezes esse é dado e não precisamos entrar nessa parte de estimação de erros 😉
Algoritmo
Então, o que fazemos aqui é simplesmente adicionar mais termos a medida que aumentamos a ordem! Então uma possibilidade pra implementar esses métodos seria pegar o algoritmo do método de Euler Aperfeiçoado e só mudar a função de iteração, sem muito mistério.
Métodos de 1ª ordem
Métodos de 2ª ordem
Métodos de ordem superior
Considerações finais
Algoritmo
Exercícios Resolvidos
Exercício Resolvido #1
Lista 7 – Professora Juliana – UFRJ – Questão 2 Adaptada
Dado o problema de valor inicial
Determine uma aproximação para , com usando o método de Runge-Kutta de 4ª ordem.
Passo 1
Temos o seguinte:
E com passo precisaremos de apenas uma iteração para aproximar :
Agora é só jogar na fórmula:
Iteração :
Passo 2
Então nossa aproximação é .
Resposta
Exercício Resolvido #2
Lista 7 – Professora Juliana – UFRJ – Questão 7 Adaptada
Aplique o método de Runge-Kutta de 4ª ordem à equação tal que para calcular com .
Passo 1
Temos o seguinte:
E com passo precisaremos de apenas uma iteração para aproximar :
Agora é só jogar na fórmula:
Iteração :
Passo 2
Então nossa aproximação é .
Resposta
Exercício Resolvido #3
Elaboração Própria
Considere o seguinte problema de valor inicial . Pede-se:
Calcule uma aproximação para pelo método de Runge-Kutta de ordem .
Compare o resultado obtido com o valor exato dado pela solução .
Passo 1
Pelas informações que ele nos deu temos:
E com passo teremos o seguinte:
Agora é só jogar na fórmula e ser feliz:
Iteração :
Iteração 2 :
Iteração 3 :
Ufa, chegamos na nossa aproximação!
Passo 2
O valor exato seria:
Comparando esses dois valores temos como erro absoluto:
Resposta
Exercício Resolvido #4
Lista 6 – Professor Mauro – UFRJ – Questão 1 Adaptada
Determine a solução numérica aproximada da seguinte equação diferencial ordinária com passo :
Usando o método de Runge-Kutta de 4ª ordem.
Sabendo-se que a solução exata da equação é , compare com a solução aproximada obtida no item anterior.
Passo 1
Temos:
E com passo teremos o seguinte:
Agora é só jogar na fórmula:
Iteração :
Iteração 2 :
Iteração 3 :
Iteração 4 :
Iteração 5 :
Beleza, agora podemos completar nossa tabelinha!
Passo 2
Pra fechar o exercício podemos acrescentar mais duas colunas na nossa tabela. Uma com os valores exatos encontrados por meio de e a outra com o erro absoluto.
Resposta
Exercício Resolvido #5
Márcia A. Gomes Ruggiero e Vera Lúcia da Rocha Lopes, Cálculo Numérico – Aspectos Teóricos e Computacionais, 2ª ed. São Paulo: MAKRON Books, 1996, pag 372, exercício 15
Calcule para , , utilizando Runge-Kutta de 4ª ordem com . Compare o resultado com o valor exato de nos pontos sabendo que .
Passo 1
Temos:
E com passo teremos o seguinte:
Agora é só jogar na fórmula:
Iteração :
Iteração 2 :
Iteração 3 :
Iteração 4 :
Iteração 5 :
Logo, a aproximação é:
Passo 2
Pra fechar o exercício podemos acrescentar mais duas colunas na nossa tabela. Uma com os valores exatos encontrados por meio de e a outra com o erro absoluto.
Vale ressaltar que os erro obtido para e indica que, trabalhando com casas decimais, o erro é de zero. No entanto, ele ainda existe, apenas é menor que !
Resposta
Exercício Resolvido #6
Lista de exercícios - FEI
Calcular a EDO:
No intervalo , para e passo . Resolver pelo método de Runge-Kutta de 4ª ordem.
Passo 1
O primeiro passo nessas questões de EDO é sempre escrever as equações adaptadas ao problema do método que a gente tá usando. No caso do Runge-Kutta as equações são:
Começou a ficar meio feio né. Mas o que essas fórmulas aí querem dizer é o seguinte oh:
é tudo que tá do lado direito da igualdade okay? Então...
Para escrever a fórmula do , basta pegarmos e
- Onde tiver escrito , escreva ;
- Onde tiver escrito , escreva . E esse é o resultado da primeira equação e é o passo que o professor pediu.
A equação do fica assim então oh:
Beleza agora é só seguir a mesma idéia para as outras.
Em ao invés de usarmos , usaremos apenas .
Agora que já temos as equações adaptadas ao nosso problema vamos construir uma tabela pra facilitar nossa vida.
Passo 2
A tabela é essa aqui oh:
Nela vamos colocar os resultados de todos os cálculos blz? Por enquanto a linha do tá preenchida com os valores de 1 até 2 com passo 0.5 que foi o que o professor pediu no enunciado, lembra? Ele também disse que o , em outras palavras ele quer dizer que o primeiro valor de na tabela é 2.
Show de bolinhas, agora é só por a mão na massa e ir calculando todos os K para achar o próximo .
Coluna
Agora que já temos todos os valores de K, podemos calcular o valor de quando .
Passando tudo pra tabela temos:
Coluna .5
Agora que já temos todos os valores de K, podemos calcular o valor de quando .
Passando tudo pra tabela temos:
Resposta
Exercício Resolvido #7
Lista de exercícios - FEI
Um indivíduo está recebendo uma injeção intravenosa de glicose na taxa constante de . É um fato biológico que, dentro de certos limites, o corpo utiliza a glicose em uma taxa proporcional à sua concentração na corrente sanguínea. A EDO que modela esta situação é: , onde é o volume de sangue no corpo do indivíduo, consideraremos que a quantidade de glicose injetada não altera V apreciavelmente. A mudança da concentração de glicose no sangue é o resultado de dois fatores: um aumento devido à injeção intravenosa permanente e a redução devida à retirada da glicose sanguínea pelo corpo. Em um tempo t qualquer, a taxa de mudança de concentração devida à injeção intravenosa permanente é , e a taxa de mudança de concentração devida aos processos metabólicos é −𝑘𝑦, para alguma constante positiva. Supondo , e , como calcular, pelo método de Runge-Kutta de 4a. ordem, a concentração de glicose entre 10 e 14 minutos com 𝑦0 = 12.5 𝑒 ℎ = 1?
Passo 1
Antes de mais nada, bora substituir os valores que ele deu no enunciado diretinho na EDO.
Depois disso, SEEMPRE nessas questões de EDO precisamos escrever as equações adaptadas ao problema do método que a gente tá usando. No caso do Runge-Kutta as equações são:
Loucura, Loucura, Loucura. Maaaas vamos decifrar isso aí. O que essas fórmulas aí querem dizer é o seguinte oh:
é tudo que tá do lado direito da igualdade okay? Então...
Para escrever a fórmula do , basta pegarmos e
- Onde tiver escrito , escreva . Esse é o resultado da primeira equação e é o passo que o professor pediu.
A equação do fica assim então oh:
Beleza agora é só seguir a mesma idéia para as outras.
Em ao invés de usarmos , usaremos apenas .
Agora que já temos as equações adaptadas ao nosso problema vamos construir uma tabela pra facilitar nossa vida.
Passo 2
A tabela é essa aqui oh:
Nela vamos colocar os resultados de todos os cálculos blz? Por enquanto a linha do tá preenchida com os valores de 10 até 14 minutos e passo 1 que foi o que o professor pediu no enunciado, tranquilo até aqui? Ele também disse que . Em outras palavras ele quer dizer que quando .
Show de bolinhas, agora é só por a mão na massa e ir calculando todos os K para achar o próximo .
Coluna
Agora que já temos todos os valores de K, podemos calcular o valor de quando .
Passando tudo pra tabela temos:
Bora agora calcular os valores de K para a coluna .
Só substituir na fórmula do agora.
Passando tudo pra tabela temos:
Coluna
Agora que já temos todos os valores de K, podemos calcular o valor de quando .
Passando tudo pra tabela temos:
Agora temos que achar os valores de K para a coluna .
Agora que já temos todos os valores de K, podemos calcular o valor de quando .
Passando tudo pra tabela temos:
Resposta
Exercício Resolvido #8
Lista de exercícios – FEI
Dada a equação diferencial calcule 𝑇(2) e 𝑇(3) com 3 casas decimais, usando o método de Runge-Kutta de 4ª ordem. Para t=1, temos T=3. Escrever as fórmulas adaptadas à questão.
Passo 1
Bom o professor já entregou pra gente a EDO separadinha do lado direito da igualdade e a derivada do lado esquerdo. Então o que a gente precisa resolver agora é escrever as equações adaptadas ao problema do método que a gente tá usando. No caso do Runge-Kutta as equações são:
Oh e agora? Quem poderá nos ajudar?
Caaaaalma, vamos decifrar isso aí. O que essas fórmulas aí querem dizer é o seguinte oh:
é tudo que tá do lado direito da igualdade okay? Então...
Para escrever a fórmula do , basta pegarmos e
- Onde estiver escrito , substitua por
- Onde tiver escrito , escreva . Esse é o resultado da primeira equação e é o passo que o professor pediu.
A equação do fica assim então oh:
Beleza agora é só seguir a mesma idéia para as outras.
Em ao invés de usarmos , usaremos apenas .
Agora que já temos as equações adaptadas ao nosso problema vamos construir uma tabela pra facilitar nossa vida.
Passo 2
A tabela é essa aqui oh:
Nela vamos colocar os resultados de todos os cálculos blz? Por enquanto a linha do tá preenchida com os valores de 1 até 3 e passo que foi o que o professor pediu no enunciado, tranquilo até aqui? Ele também disse que para temos
Show de bolinhas, agora é só por a mão na massa e ir calculando todos os K para achar o próximo .
Coluna
Agora que já temos todos os valores de K, podemos calcular o valor de quando .
Passando tudo pra tabela temos:
Bora agora calcular os valores de K para a coluna .
Agora que já temos todos os valores de K, podemos calcular o valor de quando .
Passando tudo pra tabela temos: