Métodos das Diferenças Finitas
Teoria
Introdução
E aí meus jovens, tudo bem? Bom, desde o início do estudo de Resoluções Numéricas de EDO, só que o que vimos até agora foram métodos que nós usávamos para resolver problemas de valores iniciais, com essa carinha aqui:
Basicamente, temos condições de contorno definidas no mesmo ponto, nesse caso, o ponto .
A partir de agora, a conversa muda e o negócio vai ficar animado!
Vamos ver agora um método para resolver problemas desse tipo aqui:
Nesse caso, as nossas condições de contorno são definidas pontos diferentes, e .
Por exemplo:
Chamamos esse tipo de problema de Problema de Valor de Contorno, ou PVC. Vamos descobrir como resolvê los?
Método das Diferenças Finitas
O que queremos com esse método é substituir cada derivada por uma aproximação daquelas que vimos lá no começo desse assunto onde aprendemos a derivar numericamente!
Então se você não ta lembrando muito bem recomendo fortemente que dê uma olhada lá!
Tá ligado que nós temos um objetivo aqui, que é fugir do problema de resolver aquelas “EDO”zonas para um problema de resolver um sistema algébrico.
Com esse método 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:
Agora se mudamos por temos a chamada Diferença finita descendente:
Chamamos essas duas de aproximação de primeira ordem, onde o limitante do erro é dado por:
Uma terceira aproximação para pode ser obtida subtraindo-se a expressão para da expressão para , ou seja:
Diferença Central:
Essa é uma aproximação de segunda ordem, onde o limitante do erro é dado por
Já para a derivada segunda usaremos apenas a fórmula da Diferença Central para a Derivada Segunda:
Ela também é uma aproximação de segunda ordem e o limitante do erro é dado por:
Obs.: Como você deve imagina, quanto maior a ordem de aproximação melhor é o resultado.
Obs².: Se a EDO for linear, o método vai torná-la um sistema linear que pode ser resolvido por Eliminação de Gauss, por exemplo. Se a EDO for não linear, resultará em um sistema não linear que pode ser resolvido por Newton. Nesse tópico nos focaremos apenas nas lineares.
Bugou a cabeça?? Vamos resolver o exemplo lá de cima pra ver como funciona na prática esse método?!
Exemplo
Considere a EDO com passo :
Vamos calcular o valor de , o número de intervalos iguais com passo :
Precisamos dos valores de contorno para conseguir o número de intervalos. Nesse caso usaremos as condições iniciais:
Então o valor de será:
Pronto já sabemos qual o valor de !
Agora vamos, através da diferença central, obter os valores das derivadas:
Beleza, agora sabemos as derivadas vamos substituir na equação original:
Vamos multiplicar por em ambos os lados da equação:
Agora é só colocar o em evidência e substituir o valor de :
Pronto, já encontramos a nossa expressão que servirá como base para as continhas que vem pela frente! Já estamos acostumados com muitas continhas em Cálculo Numérico, né?!
Temos quase tudo que precisamos! Vamos montar uma tabela com o que sabemos para conseguir substituir os valores corretamente!
Sabemos que temos Logo, temos 4 intervalos espaçados:
Definidos que os valores de contorno a partir das condições iniciais,
Logo:
Agora vamos utilizar o passo :
Beleza?!
Vamos agora comparar nossa tabela com a expressão obtida:
Agora vamos analisar a expressão para cada :
Se temos:
Sabemos pela tabela que :
Substituindo na equação temos:
Se temos:
Sabemos pela tabela que :
Substituindo na equação temos:
Realizando o mesmo procedimento para , obteremos a equação :
Assim, as três equações formam o sistema com três incógnitas:
Agora é só resolver esse lindo sistema linear! Ahahaha
Resolvendo o sistema obteremos:
Podemos substituir esses valores na tabela que montamos :
Beleza?!
Prontinho, resolvemos nosso problema! Agora vamos praticar nos exercícios! 😊
Exemplo
Exercícios Resolvidos
Exercício Resolvido #1
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 374, exercício 24
Resolva pelo método das diferenças finitas, o PVC:
usando
Passo 1
Temos o seguinte:
E teremos intervalos de modo que:
Então vai ficar assim:
Beleza, agora vamos substituir as derivadas na nossa EDO:
Multiplicando os dois lados por :
Juntando os termos iguais:
:
:
:
Então chegamos no sistema:
Que passando para a forma matricial fica:
Mais fácil que gravar aquela matriz genérica né?
Passo 2
Agora é só resolvermos o sistema:
Fazendo a retrosubstituição chegamos em:
Completando nosso quadrinho:
Resposta
Exercício Resolvido #2
Lista 5 – UNICAMP – Questão 10
Escreva uma desratização com aproximação de segunda ordem para a equação diferencial
Prepare o esquema das equações resultantes que correspondem a tomar
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:
E teremos intervalos de modo que:
Então vai ficar assim:
Beleza, agora vamos substituir as derivadas na nossa EDO:
Multiplicando os dois lados por :
Juntando os termos iguais:
:
:
:
:
:
:
:
:
:
Passo 2
Ufa, foram todas as equações! Nosso sistema ficaria assim:
Meu amigo, ainda bem que não precisamos calcular isso aí em! haha
Resposta
Exercício Resolvido #3
Richard L. Burden e J. Douglas Faires, Numerical Analysis, 9ª ed. Brooks/Cole, Cengage Learning, pag 689, exercício 1
O PVC abaixo
tem como solução . Use o método das diferenças finitas para aproximar a solução e compare com a solução real para:
Passo 1
Temos o seguinte:
E teremos intervalos de modo que:
Então vai ficar assim:
Beleza, agora vamos substituir as derivadas na nossa EDO:
Multiplicando os dois lados por :
Juntando os termos iguais:
:
Completando nossa tabela:
Passo 2
Nessa letra o único valor que estimamos foi . O valor exato seria:
Logo, houve um erro de: