Métodos de Runge-Kutta

Ver Todos os Exercícios

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 f ( x , y ) 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:

  1. São de passo 1;
  2. Não precisa calcular derivada nenhuma! No lugar, calculamos f x , y ou f t , y ;
  3. 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 3 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:

y n + 1 = y n + h y n '

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 f t n , y n :

y n + 1 = y n + h f ( t n , y n )

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:

y n + 1 = y n + h α 1 f t n , y n + h α 2 f t n + h β 1 , y n + h β 2 f t n , y n

Eita! Ta feio isso né? Podemos substituir aí α 1 = α 2 = 1 2 e β 1 = β 2 = 1 . Vai ficar mais ou menos assim:

y n + 1 = y n + h 2 f t n , y n + f t n + 1 , y n + h f t n , y n

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:

α 1 + α 2 = 1 α 2 β 1 = 1 2 α 1 β 2 = 1 2

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:

y n + 1 = y n + 2 9 k 1 + 1 3 k 2 + 4 9 k 3

k 1 = h f t n , y n

k 2 = h f t n + h 2 , y n + k 1 2

k 3 = h f t n + 3 4 h , y n + 3 4 k 2

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:

y n + 1 = y n + 1 6 k 1 + 2 k 2 + 2 k 3 + k 4

k 1 = h f t n , y n

k 2 = h f t n + h 2 , y n + k 1 2

k 3 = h f t n + h 2 , y n + k 2 2

k 4 = h f t n + h , y n + k 3

É 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 h .

Para a nossa sorte, 99% das vezes esse h é 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

Dado o problema de valor inicial

y ' = x 2 + 2 y x y 1 = 2

Determine uma aproximação para y 1.3 , com h = 0.3 usando o método de Runge-Kutta de 4ª ordem.

Passo 1

Temos o seguinte:

y ' = x 2 + 2 y x

y 0 = 2

x 0 = 1

E com passo h = 0 . 3 precisaremos de apenas uma iteração para aproximar y 1.3 :

y 1 ≅ y 1.3

Agora é só jogar na fórmula:

Iteração 1 x = 1.3 :

k 1 0 = h f x 0 , y 0 = h x 0 2 + 2 y 0 x 0 = 1.5

k 2 0 = h f x 0 + h 2 , y 0 + k 1 0 2 = h x 0 + h 2 2 + 2 y 0 + k 1 0 2 x 0 + h 2 = 1.77978

k 3 0 = h f x 0 + h 2 , y 0 + k 2 0 2 = h x 0 + h 2 2 + 2 y 0 + k 2 0 2 x 0 + h 2 = 1.85276

k 4 0 = h f x 0 + h , y 0 + k 3 0 = h x 0 + h 2 + 2 y 0 + k 3 0 x 0 + h = 2.16820

y 1 = y 0 + 1 6 k 1 0 + 2 k 2 0 + 2 k 3 0 + k 4 0 = 3.82222

Passo 2

Então nossa aproximação é y 1.3 ≅ 3.82222 .

Resposta

y 1.3 ≅ 3.82222

Exercício Resolvido #2

Aplique o método de Runge-Kutta de 4ª ordem à equação y ' = sin ⁡ x y tal que y 1 = 1 para calcular y 1.2 com h = 0.2 .

Passo 1

Temos o seguinte:

y ' = sin ⁡ x y

y 0 = 1

x 0 = 1

E com passo h = 0 . 2 precisaremos de apenas uma iteração para aproximar y 1 . 2 :

y 1 ≅ y 1 . 2

Agora é só jogar na fórmula:

Iteração 1 x = 1 . 2 :

k 1 0 = h f x 0 , y 0 = h sin ⁡ x 0 y 0 = 0.16829

k 2 0 = h f x 0 + h 2 , y 0 + k 1 0 2 = h sin ⁡ x 0 + h 2 y 0 + k 1 0 2 = 0.18586

k 3 0 = h f x 0 + h 2 , y 0 + k 2 0 2 = h sin ⁡ x 0 + h 2 y 0 + k 2 0 2 = 0.18657

k 4 0 = h f x 0 + h , y 0 + k 3 0 = h sin ⁡ x 0 + h y 0 + k 3 0 = 0.19785

y 1 = y 0 + 1 6 k 1 0 + 2 k 2 0 + 2 k 3 0 + k 4 0 = 1.18517

Passo 2

Então nossa aproximação é y 1 . 2 ≅ 1.18517 .

Resposta

y 1.2 ≅ 1.18517

Exercício Resolvido #3

Considere o seguinte problema de valor inicial y ' = - y + t + 2 ,   y 0 = 2 ,   t ∈ 0,0.3 ,   h = 0.1 . Pede-se:

a Calcule uma aproximação para y 0.3 pelo método de Runge-Kutta de ordem 4 .

b Compare o resultado obtido com o valor exato y 0.3 dado pela solução y = e - t + t + 1 .

Passo 1

a Pelas informações que ele nos deu temos:

y ' = - y + t + 2

y 0 = 2

t 0 = 0

E com passo h = 0.1 teremos o seguinte:

Agora é só jogar na fórmula e ser feliz:

Iteração 1 x = 0.1 :

k 1 0 = h f t 0 , y 0 = h - y 0 + t 0 + 2 = 0

k 2 0 = h f t 0 + h 2 , y 0 + k 1 0 2 = h - y 0 + k 1 0 2 + t 0 + h 2 + 2 = 0.005

k 3 0 = h f t 0 + h 2 , y 0 + k 2 0 2 = h - y 0 + k 2 0 2 + t 0 + h 2 + 2 = 0.00475

k 4 0 = h f t 0 + h , y 0 + k 3 0 = h - y 0 + k 3 0 + t 0 + h + 2 = 0.009525

y 1 = y 0 + 1 6 k 1 0 + 2 k 2 0 + 2 k 3 0 + k 4 0 = 2.00484

Iteração 2 x = 0.2 :

k 1 1 = h f t 1 , y 1 = h - y 1 + t 1 + 2 = 0.00952

k 2 1 = h f t 1 + h 2 , y 1 + k 1 1 2 = h - y 1 + k 1 1 2 + t 1 + h 2 + 2 = 0.01404

k 3 1 = h f t 1 + h 2 , y 1 + k 2 1 2 = h - y 1 + k 2 1 2 + t 1 + h 2 + 2 = 0.01381

k 4 1 = h f t 1 + h , y 1 + k 3 1 = h - y 1 + k 3 1 + t 1 + h + 2 = 0.01813

y 2 = y 1 + 1 6 k 1 1 + 2 k 2 1 + 2 k 3 1 + k 4 1 = 2.01873

Iteração 3 x = 0.3 :

k 1 2 = h f t 2 , y 2 = h - y 2 + t 2 + 2 = 0.01813

k 2 2 = h f t 2 + h 2 , y 2 + k 1 2 2 = h - y 2 + k 1 2 2 + t 2 + h 2 + 2 = 0.02222

k 3 2 = h f t 2 + h 2 , y 2 + k 2 2 2 = h - y 2 + k 2 2 2 + t 2 + h 2 + 2 = 0.02202

k 4 2 = h f t 2 + h , y 2 + k 3 2 = h - y 2 + k 3 2 + t 2 + h + 2 = 0.02593

y 3 = y 2 + 1 6 k 1 2 + 2 k 2 2 + 2 k 3 2 + k 4 2 = 2.040818422

Ufa, chegamos na nossa aproximação!

y 0.3 ≅ 2.040818422

Passo 2

b O valor exato seria:

y t = e - t + t + 1

y 0.3 = 2.04081822068

Comparando esses dois valores temos como erro absoluto:

2.040818422 - 2.04081822068 = 2.0132 × 10 - 7

Resposta

y 0.3 ≅ 2.040818422

E A = 2.0132 × 10 - 7

Exercício Resolvido #4

Determine a solução numérica aproximada da seguinte equação diferencial ordinária com passo h = 0.2 :

y ' + 2 y = 0 ,       ∀ x ∈ 0,1 y 0 = 1

a Usando o método de Runge-Kutta de 4ª ordem.

b Sabendo-se que a solução exata da equação é y = e - 2 x , compare com a solução aproximada obtida no item anterior.

Passo 1

a Temos:

y ' = - 2 y

y 0 = 1

x 0 = 0

E com passo h = 0.2 teremos o seguinte:

Agora é só jogar na fórmula:

Iteração 1 x = 0.2 :

k 1 0 = h f x 0 , y 0 = h - 2 y 0 = - 0.4

k 2 0 = h f x 0 + h 2 , y 0 + k 1 0 2 = h - 2 y 0 + k 1 0 2 = - 0.32

k 3 0 = h f x 0 + h 2 , y 0 + k 2 0 2 = h - 2 y 0 + k 2 0 2 = - 0.336

k 4 0 = h f x 0 + h , y 0 + k 3 0 = h - 2 y 0 + k 3 0 = - 0.2656

y 1 = y 0 + 1 6 k 1 0 + 2 k 2 0 + 2 k 3 0 + k 4 0 = 0.6704

Iteração 2 x = 0 . 4 :

k 1 1 = h f x 1 , y 1 = h - 2 y 1 = - 0.26816

k 2 1 = h f x 1 + h 2 , y 1 + k 1 1 2 = h - 2 y 1 + k 1 1 2 = - 0.21453

k 3 1 = h f x 1 + h 2 , y 1 + k 2 1 2 = h - 2 y 1 + k 2 1 2 = - 0.22525

k 4 1 = h f x 1 + h , y 1 + k 3 1 = h - 2 y 1 + k 3 1 = - 0.17806

y 2 = y 1 + 1 6 k 1 1 + 2 k 2 1 + 2 k 3 1 + k 4 1 = 0.44944

Iteração 3 x = 0 . 6 :

k 1 2 = h f x 2 , y 2 = h - 2 y 2 = - 0.17977

k 2 2 = h f x 2 + h 2 , y 2 + k 1 2 2 = h - 2 y 2 + k 1 2 2 = - 0.14382

k 3 2 = h f x 2 + h 2 , y 2 + k 2 2 2 = h - 2 y 2 + k 2 2 2 = - 0.15101

k 4 2 = h f x 2 + h , y 2 + k 3 2 = h - 2 y 2 + k 3 2 = - 0.11937

y 3 = y 2 + 1 6 k 1 2 + 2 k 2 2 + 2 k 3 2 + k 4 2 = 0.30130

Iteração 4 x = 0.8 :

k 1 3 = h f x 3 , y 3 = h - 2 y 3 = - 0.12052

k 2 3 = h f x 3 + h 2 , y 3 + k 1 3 2 = h - 2 y 3 + k 1 3 2 = - 0.09642

k 3 3 = h f x 3 + h 2 , y 3 + k 2 3 2 = h - 2 y 3 + k 2 3 2 = - 0.10124

k 4 3 = h f x 3 + h , y 3 + k 3 3 = h y 3 + k 3 3 = - 0.08003

y 4 = y 3 + 1 6 k 1 3 + 2 k 2 3 + 2 k 3 3 + k 4 3 = 0.20199

Iteração 5 x = 1 :

k 1 4 = h f x 4 , y 4 = h - 2 y 4 = - 0.08080

k 2 4 = h f x 4 + h 2 , y 4 + k 1 4 2 = h - 2 y 4 + k 1 4 2 = - 0.06464

k 3 4 = h f x 4 + h 2 , y 4 + k 2 4 2 = h - 2 y 4 + k 2 4 2 = - 0.06787

k 4 4 = h f x 4 + h , y 4 + k 3 4 = h - 2 y 4 + k 3 4 = - 0.05365

y 5 = y 4 + 1 6 k 1 4 + 2 k 2 4 + 2 k 3 4 + k 4 4 = 0.13542

Beleza, agora podemos completar nossa tabelinha!

Passo 2

b Pra fechar o exercício podemos acrescentar mais duas colunas na nossa tabela. Uma com os valores exatos encontrados por meio de y = e - 2 x e a outra com o erro absoluto.

Resposta

Exercício Resolvido #5

Calcule y 1 para y ' = y - x , y 0 = 2 , utilizando Runge-Kutta de 4ª ordem com h = 0.2 . Compare o resultado com o valor exato de y x nos pontos x i sabendo que y x = e x + x + 1 .

Passo 1

Temos:

y ' = y - x

y 0 = 2

x 0 = 0

E com passo h = 0.2 teremos o seguinte:

Agora é só jogar na fórmula:

Iteração 1 x = 0.2 :

k 1 0 = h f x 0 , y 0 = h y 0 - x 0 = 0.4

k 2 0 = h f x 0 + h 2 , y 0 + k 1 0 2 = h y 0 + k 1 0 2 - x 0 + h 2 = 0.4 2

k 3 0 = h f x 0 + h 2 , y 0 + k 2 0 2 = h y 0 + k 2 0 2 - x 0 + h 2 = 0.422

k 4 0 = h f x 0 + h , y 0 + k 3 0 = h y 0 + k 3 0 - x 0 + h = 0.4444

y 1 = y 0 + 1 6 k 1 0 + 2 k 2 0 + 2 k 3 0 + k 4 0 = 2.4214

Iteração 2 x = 0.4 :

k 1 1 = h f x 1 , y 1 = h y 1 - x 1 = 0.44428

k 2 1 = h f x 1 + h 2 , y 1 + k 1 1 2 = h y 1 + k 1 1 2 - x 1 + h 2 = 0.46871

k 3 1 = h f x 1 + h 2 , y 1 + k 2 1 2 = h y 1 + k 2 1 2 - x 1 + h 2 = 0.47115

k 4 1 = h f x 1 + h , y 1 + k 3 1 = h y 1 + k 3 1 - x 1 + h = 0.49851

y 2 = y 1 + 1 6 k 1 1 + 2 k 2 1 + 2 k 3 1 + k 4 1 = 2.89182

Iteração 3 x = 0.6 :

k 1 2 = h f x 2 , y 2 = h y 2 - x 2 = 0.49836

k 2 2 = h f x 2 + h 2 , y 2 + k 1 2 2 = h y 2 + k 1 2 2 - x 2 + h 2 = 0.5282

k 3 2 = h f x 2 + h 2 , y 2 + k 2 2 2 = h y 2 + k 2 2 2 - x 2 + h 2 = 0.53118

k 4 2 = h f x 2 + h , y 2 + k 3 2 = h y 2 + k 3 2 - x 2 + h = 0.56460

y 3 = y 2 + 1 6 k 1 2 + 2 k 2 2 + 2 k 3 2 + k 4 2 = 3.42211

Iteração 4 x = 0.8 :

k 1 3 = h f x 3 , y 3 = h y 3 - x 3 = 0.56442

k 2 3 = h f x 3 + h 2 , y 3 + k 1 3 2 = h y 3 + k 1 3 2 - x 3 + h 2 = 0.60086

k 3 3 = h f x 3 + h 2 , y 3 + k 2 3 2 = h y 3 + k 2 3 2 - x 3 + h 2 = 0.60451

k 4 3 = h f x 3 + h , y 3 + k 3 3 = h y 3 + k 3 3 - x 3 + h = 0.64532

y 4 = y 3 + 1 6 k 1 3 + 2 k 2 3 + 2 k 3 3 + k 4 3 = 4.02552

Iteração 5 x = 1 :

k 1 4 = h f x 4 , y 4 = h y 4 - x 4 = 0.64510

k 2 4 = h f x 4 + h 2 , y 4 + k 1 4 2 = h y 4 + k 1 4 2 - x 4 + h 2 = 0.68961

k 3 4 = h f x 4 + h 2 , y 4 + k 2 4 2 = h y 4 + k 2 4 2 - x 4 + h 2 = 0.69407

k 4 4 = h f x 4 + h , y 4 + k 3 4 = h y 4 + k 3 4 - x 4 + h = 0.74392

y 5 = y 4 + 1 6 k 1 4 + 2 k 2 4 + 2 k 3 4 + k 4 4 = 4.71825

Logo, a aproximação é:

y 1 ≅ 4.71825

Passo 2

Pra fechar o exercício podemos acrescentar mais duas colunas na nossa tabela. Uma com os valores exatos encontrados por meio de y = e x + x + 1 e a outra com o erro absoluto.

Vale ressaltar que os erro 0 obtido para y 0.2 e y 0.4 indica que, trabalhando com 5 casas decimais, o erro é de zero. No entanto, ele ainda existe, apenas é menor que 10 - 5 !

Resposta

Exercício Resolvido #6

Calcular a EDO:

y ' = 1 x + y

No intervalo 1 ≤ x ≤ 2 , para y 0 = 2 e passo h = 0.5 . 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:

K 1 = f ( x , y )

K 2 = f ( x + h 2 , y + h 2 K 1 )

K 3 = f ( x + h 2 , y + h 2 K 2 )

K 4 = f ( x + h , y + h K 3 )

y x + h = y x + h 6 ( K 1 + 2 K 2 + 2 K 3 + K 4 )

Começou a ficar meio feio né. Mas o que essas fórmulas aí querem dizer é o seguinte oh:

f ( x , y ) é tudo que tá do lado direito da igualdade okay? Então...

K 1 = 1 x + y

Para escrever a fórmula do K 2 , basta pegarmos 1 x + y e

- Onde tiver escrito x , escreva x + h 2 ;

- Onde tiver escrito y , escreva y + h 2 * K 1 . E esse K 1 é o resultado da primeira equação e h é o passo que o professor pediu.

A equação do K 2 fica assim então oh:

K 2 = 1 x + h 2 + y + h 2 K 1

K 2 = 1 x + 0.25 + y + 0.25 * K 1

Beleza agora é só seguir a mesma idéia para as outras.

K 3 = f ( x + h 2 , y + h 2 K 2 )

K 3 = 1 x + 0.25 + y + 0.25 * K 2

Em K 4 ao invés de usarmos h 2 , usaremos apenas h .

K 4 = f ( x + h , y + h K 3 )

K 4 = 1 x + 0.5 + y + 0.5 * K 3

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 x 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 y 0 = 2 , em outras palavras ele quer dizer que o primeiro valor de y   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 y .

Coluna x = 1

K 1 = 1 x + y = 1 1 + 2 = 3

K 2 = 1 x + 0.25 + y + 0.25 * K 1

K 2 = 1 ( 1 ) + 0.25 + 2 + 0.25 * 3 = 3.55

K 3 = 1 x + 0.25 + y + 0.25 * K 2

K 3 = 1 ( 1 ) + 0.25 + 2 + 0.25 * 3.55 = 3.688

K 4 = 1 x + 0.5 + y + 0.5 * K 3

K 4 = 1 ( 1 ) + 0.5 + 2 + 0.5 * 3.688 = 4.51

Agora que já temos todos os valores de K, podemos calcular o valor de y quando x = 1.5 .

y 1.5 = y 1 + h 6 ( K 1 + 2 K 2 + 2 K 3 + K 4 )

y 1.5 = 2 + 0.5 6 3 + 2 * 3.55 + 2 * 3.688 + 4.51 = 3.8321

Passando tudo pra tabela temos:

Coluna x = 1 .5

K 1 = 1 x + y = 1 1.5 + 3.8321 = 4.4988

K 2 = 1 x + 0.25 + y + 0.25 * K 1

K 2 = 1 ( 1.5 ) + 0.25 + 3.8321 + 0.25 * 4.4988 = 5.528

K 3 = 1 x + 0.25 + y + 0.25 * K 2

K 3 = 1 ( 1.5 ) + 0.25 + 3.8321 + 0.25 * 5.528 = 5.785

K 4 = 1 x + 0.5 + y + 0.5 * K 3

K 4 = 1 1.5 + 0.5 + 3.8321 + 0.5 * 5.785 = 7.225

Agora que já temos todos os valores de K, podemos calcular o valor de y quando x = 2 .

y 2 = y 1.5 + h 6 ( K 1 + 2 K 2 + 2 K 3 + K 4 )

y 1.5 = 3.8321 + 0.5 6 4.4988 + 2 * 5.528 + 2 * 5.785 + 7.225 = 6.695

Passando tudo pra tabela temos:

Resposta

y 1.5 = 3.8321

y 2 = 6.695

Exercício Resolvido #7

Um indivíduo está recebendo uma injeção intravenosa de glicose na taxa constante de c m g m i n . É 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 é: y ' t = c V - k y , onde V é 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 é c V , e a taxa de mudança de concentração devida aos processos metabólicos é −𝑘𝑦, para alguma constante k positiva. Supondo c = 12   m g / m i n , V = 5 l e k = 0.12 , 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.

y ' t = c V - k y

y ' t = 12 5 - 0.12 y = 2.4 - 0.12 y

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:

K 1 = f ( t , y )

K 2 = f ( t + h 2 , y + h 2 K 1 )

K 3 = f ( t + h 2 , y + h 2 K 2 )

K 4 = f ( t + h , y + h K 3 )

y t + h = y t + h 6 ( K 1 + 2 K 2 + 2 K 3 + K 4 )

Loucura, Loucura, Loucura. Maaaas vamos decifrar isso aí. O que essas fórmulas aí querem dizer é o seguinte oh:

f ( t , y ) é tudo que tá do lado direito da igualdade okay? Então...

K 1 = 2.4 - 0.12 * y ( t )

Para escrever a fórmula do K 2 , basta pegarmos 2.4 - 0.12 y ( t ) e

- Onde tiver escrito y , escreva y + h 2 * K 1 . Esse K 1 é o resultado da primeira equação e h é o passo que o professor pediu.

A equação do K 2 fica assim então oh:

K 2 = f ( t + h 2 , y + h 2 K 1 )

K 2 = 2.4 - 0.12 ( y t - 0.5 K 1 )

Beleza agora é só seguir a mesma idéia para as outras.

K 3 = f ( t + h 2 , y + h 2 K 2 )

K 3 = 2.4 - 0.12 ( y t - 0.5 K 2 )

Em K 4 ao invés de usarmos h 2 , usaremos apenas h .

K 4 = f ( t + h , y + h K 3 )

K 4 = 2.4 - 0.12 ( y t - K 3 )

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 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 y 0 = 12.5 . Em outras palavras ele quer dizer que quando t = 10 y = 12.5   .

Show de bolinhas, agora é só por a mão na massa e ir calculando todos os K para achar o próximo y .

Coluna t = 10

K 1 = 2.4 - 0.12 * y t

K 1 = 2.4 - 0.12 * ( 12.5 ) = 0.9

K 2 = 2.4 - 0.12 * ( y t - 0.5 K 1 )

K 2 = 2.4 - 0.12 * ( 12.5 - 0.5 * ( 0.9 ) ) = 0.846

K 3 = 2.4 - 0.12 * ( y t - 0.5 K 2 )

K 3 = 2.4 - 0.12 * ( 12.5 - 0.5 * ( 0.846 ) ) = 0.849

K 4 = 2.4 - 0.12 * ( y t - K 3 )

K 4 = 2.4 - 0.12 * 12.5 - ( 0.849 ) = 0.798

Agora que já temos todos os valores de K, podemos calcular o valor de y quando t = 11 .

y 11 = y 10 + h 6 ( K 1 + 2 K 2 + 2 K 3 + K 4 )

y 11 = 12.5 + 1 6 0.9 + 2 * 0.846 + 2 * 0.849 + 0.798 = 13.348

Passando tudo pra tabela temos:

Bora agora calcular os valores de K para a coluna t = 11 .

K 1 = 2.4 - 0.12 * y t

K 1 = 2.4 - 0.12 * ( 13.348 ) = 0.798

K 2 = 2.4 - 0.12 * ( y t - 0.5 K 1 )

K 2 = 2.4 - 0.12 * ( 13.348 - 0.5 * ( 0.798 ) ) = 0.750

K 3 = 2.4 - 0.12 * ( y t - 0.5 K 2 )

K 3 = 2.4 - 0.12 * ( 13.348 - 0.5 * ( 0.750 ) ) = 0.753

K 4 = 2.4 - 0.12 * ( y t - K 3 )

K 4 = 2.4 - 0.12 * 13.348 - ( 0.753 ) = 0.708

Só substituir na fórmula do y ( 12 ) agora.

y 12 = y 11 + h 6 ( K 1 + 2 K 2 + 2 K 3 + K 4 )

y 12 = 13.348 + 1 6 0.798 + 2 * 0.750 + 2 * 0.753 + 0.708 = 14.1

Passando tudo pra tabela temos:

Coluna t = 12

K 1 = 2.4 - 0.12 * y t

K 1 = 2.4 - 0.12 * ( 14.1 ) = 0.708

K 2 = 2.4 - 0.12 * ( y t - 0.5 K 1 )

K 2 = 2.4 - 0.12 * ( 14.1 - 0.5 * ( 0.708 ) ) = 0.666

K 3 = 2.4 - 0.12 * ( y t - 0.5 K 2 )

K 3 = 2.4 - 0.12 * ( 14.1 - 0.5 * ( 0.666 ) ) = 0.668

K 4 = 2.4 - 0.12 * ( y t - K 3 )

K 4 = 2.4 - 0.12 * 14.1 - ( 0.668 ) = 0.628

Agora que já temos todos os valores de K, podemos calcular o valor de y quando t = 13 .

y 13 = y 12 + h 6 ( K 1 + 2 K 2 + 2 K 3 + K 4 )

y 13 = 14.1 + 1 6 0.708 + 2 * 0.666 + 2 * 0.668 + 0.628 = 14.76

Passando tudo pra tabela temos:

Agora temos que achar os valores de K para a coluna t = 13 .

K 1 = 2.4 - 0.12 * y t

K 1 = 2.4 - 0.12 * ( 14.76 ) = 0.629

K 2 = 2.4 - 0.12 * ( y t - 0.5 K 1 )

K 2 = 2.4 - 0.12 * ( 14.76 - 0.5 * ( 0.629 ) ) = 0.591

K 3 = 2.4 - 0.12 * ( y t - 0.5 K 2 )

K 3 = 2.4 - 0.12 * ( 14.76 - 0.5 * ( 0.591 ) ) = 0.593

K 4 = 2.4 - 0.12 * ( y t - K 3 )

K 4 = 2.4 - 0.12 * 14.76 - ( 0.593 ) = 0.558

Agora que já temos todos os valores de K, podemos calcular o valor de y quando t = 14 .

y 14 = y 13 + h 6 ( K 1 + 2 K 2 + 2 K 3 + K 4 )

y 14 = 14.76 + 1 6 0.629 + 2 * 0.591 + 2 * 0.593 + 0.558 = 15.35

Passando tudo pra tabela temos:

Resposta

y 11 = 13.348

y 12 = 14.1

y 13 = 14.76

y 14 = 15.35

Exercício Resolvido #8

Dada a equação diferencial T ' = t . c o s ( t + T ) 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 f t , T 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:

K 1 = f ( t , T )

K 2 = f ( t + h 2 , T + h 2 K 1 )

K 3 = f ( t + h 2 , T + h 2 K 2 )

K 4 = f ( t + h , T + h K 3 )

T t + h = T t + h 6 ( K 1 + 2 K 2 + 2 K 3 + K 4 )

Oh e agora? Quem poderá nos ajudar?

Caaaaalma, vamos decifrar isso aí. O que essas fórmulas aí querem dizer é o seguinte oh:

f ( t , T ) é tudo que tá do lado direito da igualdade okay? Então...

K 1 = t * c o s ( t + T )

Para escrever a fórmula do K 2 , basta pegarmos t . c o s ( t + T ) e

- Onde estiver escrito t , substitua por t + h 2

- Onde tiver escrito T , escreva T + h 2 * K 1 . Esse K 1 é o resultado da primeira equação e h é o passo que o professor pediu.

A equação do K 2 fica assim então oh:

K 2 = f ( t + h 2 , T + h 2 K 1 )

K 2 = ( t + 0.5 ) * c o s ⁡ [ ( t + 0.5 ) + ( T + 0.5 K 1 ) ]

Beleza agora é só seguir a mesma idéia para as outras.

K 3 = f ( t + h 2 , T + h 2 K 2 )

K 3 = ( t + 0.5 ) * c o s ⁡ [ ( t + 0.5 ) + ( T + 0.5 K 2 ) ]

Em K 4 ao invés de usarmos h 2 , usaremos apenas h .

K 4 = f ( t + h , T + h K 3 )

K 4 = ( t + 1 ) * c o s ⁡ [ ( t + 1 ) + ( T + K 3 ) ]

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 tá preenchida com os valores de 1 até 3 e passo h = 1 que foi o que o professor pediu no enunciado, tranquilo até aqui? Ele também disse que para t = 1 , temos T = 3

Show de bolinhas, agora é só por a mão na massa e ir calculando todos os K para achar o próximo y .

Coluna t = 1

K 1 = t * c o s ( t + T )

K 1 = 1 * c o s 1 + 3 = - 0.654

K 2 = ( t + 0.5 ) * c o s ⁡ [ ( t + 0.5 ) + ( T + 0.5 K 1 ) ]

K 2 = 1 + 0.5 * cos ⁡ 1 + 0.5 + 3 + 0.5 * - 0.654 = - 0.770

K 3 = ( t + 0.5 ) * c o s ⁡ [ ( t + 0.5 ) + ( T + 0.5 K 2 ) ]

K 3 = 1 + 0.5 * cos ⁡ 1 + 0.5 + 3 + 0.5 * - 0.770 = - 0.844

K 4 = ( t + 1 ) * c o s ⁡ [ ( t + 1 ) + ( T + K 3 ) ]

K 4 = 1 + 1 * cos ⁡ 1 + 1 + 3 + - 0.844 = - 1.056

Agora que já temos todos os valores de K, podemos calcular o valor de y quando t = 2 .

T 2 = T 1 + h 6 ( K 1 + 2 K 2 + 2 K 3 + K 4 )

T 2 = 3 + 1 6 - 0.654 + 2 * - 0.770 + 2 * - 0.844 - 1.056 = 2.177

Passando tudo pra tabela temos:

Bora agora calcular os valores de K para a coluna t = 2 .

K 1 = t * c o s ( t + T )

K 1 = 2 * c o s 1 + 2.177 = - 1.02

K 2 = ( t + 0.5 ) * c o s ⁡ [ ( t + 0.5 ) + ( T + 0.5 K 1 ) ]

K 2 = 2 + 0.5 * cos ⁡ 2 + 0.5 + 2.177 + 0.5 * - 1.02 = - 1.297

K 3 = ( t + 0.5 ) * c o s ⁡ [ ( t + 0.5 ) + ( T + 0.5 K 2 ) ]

K 3 = 2 + 0.5 * cos ⁡ 2 + 0.5 + 2.177 + 0.5 * - 1.297 = - 1.579

K 4 = ( t + 1 ) * c o s ⁡ [ ( t + 1 ) + ( T + K 3 ) ]

K 4 = 2 + 1 * cos ⁡ 2 + 1 + 2.177 + - 1.579 = - 2.693

Agora que já temos todos os valores de K, podemos calcular o valor de y quando t = 2 .

T 3 = T 2 + h 6 ( K 1 + 2 K 2 + 2 K 3 + K 4 )

T 3 = 2.177 + 1 6 - 1.02 + 2 * - 1.297 + 2 * - 1.579 - 2.693 = 0.599

Passando tudo pra tabela temos:

Resposta

T 2 = 2.177

T 3 = 0.599

Exercícios de Livros Relacionados

10. Substitua y ' ( x ) jo PVI abaixo por y x + h - y x / h e obtenha uma equação diferencial de diferenças para aproximar a solução da equação diferencial.Faça h = 0.2 e h = 0.1 e encontre, em cada c
2. O problema de valor inicial y ' = - 20 y y 0 = 1 ,t e mp o rú n i c as o l u ç ã oe x a t ay x = e - 20 x ú çã a) Verifique a afirmação acimab) Verifique que qualquer método de Runge-Kutta de 2ª or
15. Calcule y ( 1 ) para y ' = y - x ; y 0 = 2 , utilizando Euler e Runge-Kutta de 4 ª ª ordem com h = 0.2 . Comparar seus resultados com os valores exatos de y ( x ) nos pontos x i , sabendo que y x
14. Resolva o PVI do exercício 10 por outros métodos e vários valores de h
11. Use a aproximação do exercício 10 para o problema do exercício 3