Método de Euler Aperfeiçoado
Produzido por Bruno PestanaTeoria
E aí meus caros, bora entender mais um assuntinho de numérico envolvendo resolução de EDO´s. Espero que você ainda lembre do método de Euler, pois vamos continuar falando dele.
Então chega mais, que aqui é só sucesso!
Antes de começas, é importante saber que esse método pode ter outros nomes conhecidos: método de Euler modificado e método de Heun.
Vamos dar uma olhadinha aqui, só pra relembrar. O método de Euler é um método iterativo, ou seja, onde uma etapa do cálculo depende da anterior até que a gente chegue no resultado. Tranquilo né?
O método de Euler tenta aproximar o valor exato da função através da reta tangente no ponto ( ) mais ou menos assim:
Esse valor é a inclinação da reta tangente, e dentro do cálculo, a função que tem a ver com a reta tangente é??? Isso mesmo, a derivada. Então . Isso é uma informação importantíssima e você já vai sacar o motivo!
Se liga só:
Fazendo algumas considerações tipo: que o passo h será uniforme , entre pontos , dentro de um intervalo temos:
Basicamente, no método de Euler convencional
Maaaaaaaaaaas, esse assunto é para falar do método de Euler Aperfeiçoado, então meu consagrado, vamos melhorar esse negócio.
O método convencional utilizava uma retinha tangente e tals, e nesse vamos fazer o que????????
Aqui nós determinamos duas derivadas (ou seja, duas retas tangentes) para o intervalo, uma no ponto inicial e outra no ponto final.
E qual das duas nós usamos no cálculo? As duas ué, só que nesse caso nós pegamos a média entre elas.
Veja que é a inclinação no início do intervalo e no final do intervalo. Vamos adicionar algumas coisas nela e deixar assim oh:
Lembrando que !
Até aí tudo bem né? Nós só acrescentamos uma tangente a mais.
E o erro vai ser o seguinte:
Mas, é aquela velha história, que interessa mesmo pra gente é o limitante do erro:
onde é o valor máximo (aplicado ao intervalo) da terceira derivada.
.
Só pra ter certeza que ficou tudo cristalino vamos ver um exemplo. Resolve aí!
Começamos isolando nosso :
E temos que . Agora jogamos na fórmula:
Agora para não ficar muito embolado eu recomendo resolver separadamente:
Juntando tudo:
Então acabamos de descobrir que !
Para achar os outros é só continuar o processo 😉
Algoritmo
O algoritmo não vai mudar muito do de Euler normal não. Só precisamos adicionar aquela parcela.
Passo 1. Dados iniciais (o que seu programa vai receber de você):
- Passo
- Intervalo em que vamos estimar ,
- Valor inicial
Passo 2. Definimos um vetor onde vamos guardar as estimativas de , de modo que
Passo 3. Definimos um vetor formado pelos pontos onde vamos estimar as derivadas.
Passo 4. Definimos
Passo 5. Para de a repita os passos 6 e 7.
Passo 6.
Passo 7.
Pra finalizar é só retornar o vetor ! Fica a dica também que existem diferentes entradas possíveis para esse método. As que eu usei são só um exemplo. Você poderia entrar, por exemplo, com o , o passo e o valor ao invés de entrar com o intervalo. Outra opção era entrar diretamente com o vetor pronto. Nesse caso não seria necessário dar nem o passo nem o intervalo.