Método das Diferenças Finitas

Ver Todos os Exercícios

Teoria

Opaa, seja muito bem vindo ao Responde Aí! Bora conhecer o método de diferenças finitas?

O que é o Método das Diferenças Finitas?

O método das diferenças finitas é um método de derivação numérica utilizado para resolver problemas de valor de contorno, com essa carinha aqui:

Nesse caso, as nossas condições de contorno são definidas pontos diferentes, e . Por exemplo:

Bora aprender como usar esse método?!

📢 Clique para saber mais:

Como Usar o Método das Diferenças Finitas

No método das diferenças finitas a gente substitui cada derivada por uma aproximação. Dividimos o intervalo cujos extremos são os pontos das condições de contorno, em partes iguais de tamanho . Ou seja:

No final das contas o método vai nos dar uma aproximação do valor de para cada em que dividimos o intervalo . Fazendo algumas modificações na série e substituindo por e brincando um pouco com os números encontramos isso aqui quando queremos uma diferença finita ascendente, que mostra a derivada primeira de uma função aproximada por:

Diferença finita descendente

Se mudamos por temos a chamada a diferença finita descendente:

Tanto a diferença finita crescente quanto a decrescente são chamadas de aproximação de primeira ordem, onde o limitante do erro é dado por:

Diferença finita central

Uma terceira aproximação para pode ser obtida subtraindo a expressão de, ou seja:

Essa é uma aproximação de segunda ordem, onde o limitante do erro é dado por

Exemplo: Resolva a EDO definida abaixo com passo

Confira a resolução desse exemplo e muito mais nesse vídeo super completo que o Responde Aí preparou pra você 👇

Agora vamos praticar com exercícios?

Exemplo: Resolva a EDO definida abaixo com passo

Exercícios Resolvidos

Exercício Resolvido #1

Resolva pelo método das diferenças finitas, o PVC:

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

usando h = 0.25

Passo 1

Temos o seguinte:

y ' ' + 2 y ' + y = x

E teremos n intervalos de modo que:

n = b - a h = 1 0.25 = 4

Então vai ficar assim:

Beleza, agora vamos substituir as derivadas na nossa EDO:

y ' ' + 2 y ' + y = x

y i + 1 - 2 y i + y i - 1 h 2 + 2 y i + 1 - y i - 1 2 h + y i = x i

Multiplicando os dois lados por h 2 :

y i + 1 - 2 y i + y i - 1 + h y i + 1 - y i - 1 + h 2 y i = h 2 x i

Juntando os termos iguais:

y i + 1 1 + h + y i - 2 + h 2 + y i - 1 1 - h = h 2 x i

1.25 y i + 1 - 1.9375 y i + 0.75 y i - 1 = 0.25 2 x i

i = 1 :

1.25 y 2 - 1.9375 y 1 = - 1.484375

i = 2 :

1.25 y 3 - 1.9375 y 2 + 0.75 y 1 = 0 . 0 3125

i = 3 :

- 1.9375 y 3 + 0.75 y 2 = 0.046875

Então chegamos no sistema:

1.25 y 2 - 1.9375 y 1 = - 1.484375 1.25 y 3 - 1.9375 y 2 + 0.75 y 1 = 0 . 0 3125 - 1.9375 y 3 + 0.75 y 2 = 0.046875

Que passando para a forma matricial fica:

0 1.25 - 1.9375 1.25 - 1.9375 0.75 - 1.9375 0.75 0 y 3 y 2 y 1 = - 1.484375 0 . 0 3125 0.046875

Mais fácil que gravar aquela matriz genérica né?

Passo 2

Agora é só resolvermos o sistema:

0 1.25 - 1.9375 1.25 - 1.9375 0.75 - 1.9375 0.75 0 - 1.484375 0.03125 0.046875 → L 2 ⟷ L 1 1.25 - 1.9375 0.75 0 1.25 - 1.9375 - 1.9375 0.75 0 0.03125 - 1.484375 0.046875 → L 3 ← L 3 + 1.55 L 1 1.25 - 1.9375 0.75 0 1.25 - 1.9375 0 - 2.25313 1.16250 0.03125 - 1.484375 0.09531 → L 3 ← L 3 + 1.80250 L 2 1.25 - 1.9375 0.75 0 1.25 - 1.9375 0 0 - 2.32984 0.03125 - 1.484375 - 2.58027

Fazendo a retrosubstituição chegamos em:

y 1 = 1.10749

y 2 = 0.52911

y 3 = 0.18062

Completando nosso quadrinho:

Resposta

Exercício Resolvido #2

Escreva uma desratização com aproximação de segunda ordem para a equação diferencial

y ' ' + t y ' + y = t 2 y 0 = 1 y 1 = 0

Prepare o esquema das equações resultantes que correspondem a tomar h = 0.1

Passo 1

Opa, tenho uma boa notícia, não vamos precisar resolver o sistema no final! Ótimo né? Podemos parar nas equações. Show, vamos lá.

Temos o seguinte:

y ' ' + t y ' + y = t 2

E teremos n intervalos de modo que:

n = b - a h = 1 0 . 1 = 10

Então vai ficar assim:

Beleza, agora vamos substituir as derivadas na nossa EDO:

y ' ' + t y ' + y = t 2

y i + 1 - 2 y i + y i - 1 h 2 + t i y i + 1 - y i - 1 2 h + y i = t i 2

Multiplicando os dois lados por h 2 :

y i + 1 - 2 y i + y i - 1 + h 2 t i y i + 1 - y i - 1 + h 2 y i = h 2 t i 2

Juntando os termos iguais:

y i + 1 1 + h 2 t i + y i - 2 + h 2 + y i - 1 1 - h 2 t i = h 2 t i 2

y i + 1 1 + 0.05 t i + y i - 1.99 + y i - 1 1 - 0.05 t i = 0.01 t i 2

i = 1 :

y 2 1 + 0.05 t 1 + y 1 - 1.99 + y 0 1 - 0.05 t 1 = 0.01 t 1 2

1.005 y 2 - 1.99 y 1 = - 0.9949

i = 2 :

y 3 1 + 0.05 t 2 + y 2 - 1.99 + y 1 1 - 0.05 t 2 = 0.01 t 2 2

1.01 y 3 - 1.99 y 2 + 0.99 y 1 = 0.0004

i = 3 :

y 4 1 + 0.05 t 3 + y 3 - 1.99 + y 2 1 - 0.05 t 3 = 0.01 t 3 2

1.015 y 4 - 1.99 y 3 + 0.985 y 2 = 0.0009

i = 4 :

y 5 1 + 0.05 t 4 + y 4 - 1.99 + y 3 1 - 0.05 t 4 = 0.01 t 4 2

1.02 y 5 - 1.99 y 4 + 0.98 y 3 = 0.0016

i = 5 :

y 6 1 + 0.05 t 5 + y 5 - 1.99 + y 4 1 - 0.05 t 5 = 0.01 t 5 2

1.025 y 6 - 1.99 y 5 + 0.975 y 4 = 0.0025

i = 6 :

y 7 1 + 0.05 t 6 + y 6 - 1.99 + y 5 1 - 0.05 t 6 = 0.01 t 6 2

1.03 y 7 - 1.99 y 6 + 0.97 y 5 = 0.0036

i = 7 :

y 8 1 + 0.05 t 7 + y 7 - 1.99 + y 6 1 - 0.05 t 7 = 0.01 t 7 2

1.035 y 8 - 1.99 y 7 + 0.965 y 6 = 0.0049

i = 8 :

y 9 1 + 0.05 t 8 + y 8 - 1.99 + y 7 1 - 0.05 t 8 = 0.01 t 8 2

1.04 y 9 - 1.99 y 8 + 0.96 y 7 = 0.0064

i = 9 :

y 10 1 + 0.05 t 9 + y 9 - 1.99 + y 8 1 - 0.05 t 9 = 0.01 t 9 2

- 1.99 y 9 + 0.955 y 8 = 0.00 81

Passo 2

Ufa, foram todas as equações! Nosso sistema ficaria assim:

- 1.99 1.005 0 0 0 0 0 0 0 0.99 - 1.99 1.01 0 0 0 0 0 0 0 0.985 - 1.99 1.015 0 0 0 0 0 0 0 0.98 - 1.99 1.02 0 0 0 0 0 0 0 0.975 - 1.99 1.025 0 0 0 0 0 0 0 0.97 - 1.99 1.03 0 0 0 0 0 0 0 0.965 - 1.99 1.035 0 0 0 0 0 0 0 0.96 - 1.99 1.04 0 0 0 0 0 0 0 0.955 - 1.99 y 1 y 2 y 3 y 4 y 5 y 6 y 7 y 8 y 9 = - 0.9949 0.0004 0.0009 0.0016 0.0025 0.0036 0.0049 0.0064 0.0081

Meu amigo, ainda bem que não precisamos calcular isso aí em! haha

Resposta

1.005 y 2 - 1.99 y 1 = - 0.9949 1.01 y 3 - 1.99 y 2 + 0.99 y 1 = 0.0004 1.015 y 4 - 1.99 y 3 + 0.985 y 2 = 0.0009 1.02 y 5 - 1.99 y 4 + 0.98 y 3 = 0.0016 1.025 y 6 - 1.99 y 5 + 0.975 y 4 = 0.0025 1.03 y 7 - 1.99 y 6 + 0.97 y 5 = 0.0036 1.035 y 8 - 1.99 y 7 + 0.965 y 6 = 0.0049 1.04 y 9 - 1.99 y 8 + 0.96 y 7 = 0.0064 - 1.99 y 9 + 0.955 y 8 = 0.0081

Exercício Resolvido #3

O PVC abaixo

y ' ' = 4 y - x ,       0 ≤ x ≤ 1 y 0 = 0 y 1 = 2

tem como solução y = e 2 e 4 - 1 - 1 e 2 x - e - 2 x + x . Use o método das diferenças finitas para aproximar a solução e compare com a solução real para:

a h = 0.5

b h = 0.25

Passo 1

a Temos o seguinte:

y ' ' = 4 y - 4 x

E teremos n intervalos de modo que:

n = b - a h = 1 0.5 = 2

Então vai ficar assim:

Beleza, agora vamos substituir as derivadas na nossa EDO:

y ' ' = 4 y - 4 x

y i + 1 - 2 y i + y i - 1 h 2 = 4 y i - 4 x i

Multiplicando os dois lados por h 2 :

y i + 1 - 2 y i + y i - 1 = 4 h 2 y i - 4 h 2 x i

Juntando os termos iguais:

y i + 1 + y i - 2 - 4 h 2 + y i - 1 = - 4 h 2 x i

y i + 1 - 3 y i + y i - 1 = - x i

i = 1 :

y 2 - 3 y 1 + y 0 = - x 1

- 3 y 1 = - y 2 - y 0 - x 1

y 1 = 2.5 3

y 1 = 0.83333

Completando nossa tabela:

Passo 2

Nessa letra o único valor que estimamos foi y 0.5 ≅ 0.83333 . O valor exato seria:

y = e 2 e 4 - 1 - 1 e 2 x - e - 2 x + x

y 0.5 = 0.824027

Logo, houve um erro de:

E A = 0.83333 - 0.824027 = 0.009306

E R = E A 0.824027 × 100 = 1.13 %

Passo 3

b Agora nosso h mudou para 0.25 , de modo que teremos n intervalos:

n = b - a h = 1 0.25 = 4

Então vai ficar assim:

Pegando nossa EDO pronta para o método lá da letra a :

y i + 1 + y i - 2 - 4 h 2 + y i - 1 = - 0.25 x i

y i + 1 - 2.25 y i + y i - 1 = - 0.25 x i

i = 1 :

y 2 - 2.25 y 1 + y 0 = - 0.25 x 1

y 2 - 2.25 y 1 = - 0.0625

i = 2 :

y 3 - 2.25 y 2 + y 1 = - 0.25 x 2

y 3 - 2.25 y 2 + y 1 = - 0.125

i = 3 :

y 4 - 2.25 y 3 + y 2 = - 0.25 x 3

- 2.25 y 3 + y 2 = - 2.1875

Passo 4

O sistema na forma matricial fica:

- 2.25 1 0 1 - 2.25 1 0 1 - 2.25 y 1 y 2 y 3 = - 0.0625 - 0.125 - 2.1875

Fazendo a Eliminação de Gauss:

- 2.25 1 0 1 - 2.25 1 0 1 - 2.25 - 0.0625 - 0.125 - 2.1875 → L 2 ← L 2 + 0.44444 L 1 - 2.25 1 0 0 - 1.80556 1 0 1 - 2.25 - 0.0625 - 0.15278 - 2.1875 → L 3 ← L 3 + 0.55385 L 2 - 2.25 1 0 0 - 1.80556 1 0 0 - 1.69615 - 0.0625 - 0.15278 - 2.27212

Retrosubstituindo:

y 1 = 0.39512

y 2 = 0.82653

y 3 = 1.33957

Completando a tabelinha já com os valores exatos e com o erro ficamos com:

Resposta

a y 0.5 ≅ 0.83333

E A = 0.009306

E R = 1.13 %

b

Exercício Resolvido #4

O PVC abaixo

y ' ' = y ' + 2 y + cos ⁡ x ,       0 ≤ x ≤ π 2 y 0 = - 0.3 y π 2 = - 0.1

tem como solução y = - 1 10 sin ⁡ x + 3 cos ⁡ x . Use o método das diferenças finitas para aproximar a solução e compare com a solução real para h = π 8

Passo 1

a Temos o seguinte:

y ' ' = y ' + 2 y + cos ⁡ x

E teremos n intervalos de modo que:

n = b - a h = π 2 π 8 = 4

Então vai ficar assim:

Beleza, agora vamos substituir as derivadas na nossa EDO:

y ' ' = y ' + 2 y + cos ⁡ x

y i + 1 - 2 y i + y i - 1 h 2 = y i + 1 - y i - 1 2 h + 2 y i + cos ⁡ x i

Multiplicando os dois lados por h 2 :

y i + 1 - 2 y i + y i - 1 = h 2 y i + 1 - y i - 1 + 2 h 2 y i + h 2 cos ⁡ x i

Juntando os termos iguais:

y i + 1 1 - h 2 + y i - 2 - 2 h 2 + y i - 1 1 + h 2 = h 2 cos ⁡ x i

0.80365 y i + 1 - 2.30843 y i + 1.19635 y i - 1 = 0.15421 cos ⁡ x i

i = 1 :

0.80365 y 2 - 2.30843 y 1 + 1.19635 y 0 = 0.15421 cos ⁡ x 1

0.80365 y 2 - 2.30843 y 1 = 0.501376

i = 2 :

0.80365 y 3 - 2.30843 y 2 + 1.19635 y 1 = 0.15421 cos ⁡ x 2

0.80365 y 3 - 2.30843 y 2 + 1.19635 y 1 = 0.109043

i = 3 :

0.80365 y 4 - 2.30843 y 3 + 1.19635 y 2 = 0.15421 cos ⁡ x 3

- 2.30843 y 3 + 1.19635 y 2 = 0.139379

Passo 2

O sistema na forma matricial fica:

- 2.30843 0.80365 0 1.19635 - 2.30843 0.80365 0 1.19635 - 2.30843 y 1 y 2 y 3 = 0.501376 0.109043 0.139379

Fazendo a Eliminação de Gauss:

- 2.30843 0.80365 0 1.19635 - 2.30843 0.80365 0 1.19635 - 2.30843 0.501376 0.109043 0.139379 → L 2 ← L 2 + 0.51825 L 1 - 2.30843 0.80365 0 0 - 1.89194 0.80365 0 1.19635 - 2.30843 0.501376 0.36888 0.139379 → L 3 ← L 3 + 0.63234 L 2 - 2.30843 0.80365 0 0 - 1.89194 0.80365 0 0 - 1.80025 0.501376 0.36888 0.37264