freeCodeCamp/guide/portuguese/mathematics/differential-equations/eulers-method/index.md

71 lines
2.6 KiB
Markdown
Raw Normal View History

---
title: Euler's Method
localeTitle: Método de Euler
---
# Método de Euler
O método de Euler é um procedimento numérico de primeira ordem para resolver equações diferenciais ordinárias (ODE) com um determinado valor inicial.
## O problema geral do valor inicial
![](https://raw.githubusercontent.com/pranabendra/articles/master/Euler-method/images/eqn006.png)
## Metodologia
O método de Euler usa a fórmula simples,
![](https://raw.githubusercontent.com/pranabendra/articles/master/Euler-method/images/eqn3.png)
para construir a tangente no ponto `x` obter o valor de `y(x+h)` , cuja inclinação é,
![](https://raw.githubusercontent.com/pranabendra/articles/master/Euler-method/images/eqn008.png)
![](https://raw.githubusercontent.com/pranabendra/articles/master/Euler-method/images/Euler.png)
No método de Euler, você pode aproximar a curva da solução pela tangente em cada intervalo (isto é, por uma seqüência de segmentos curtos), nas etapas de `h` .
_Em geral_ , se você usar um pequeno tamanho de passo, a precisão da aproximação aumentará.
## Fórmula geral
![](https://raw.githubusercontent.com/pranabendra/articles/master/Euler-method/images/eqn7.png)
![](https://raw.githubusercontent.com/pranabendra/articles/master/Euler-method/images/eqn_new_2.png)
## Valor funcional em qualquer ponto `b` , dado por `y(b)`
![](https://raw.githubusercontent.com/pranabendra/articles/master/Euler-method/images/eqn6.png)
Onde,
* **n** = número de etapas
* **h** = largura do intervalo (tamanho de cada etapa)
### Pseudo-código
![](https://raw.githubusercontent.com/pranabendra/articles/master/Euler-method/images/eqn_new_1.png)
## Exemplo
Encontre `y(1)` , dado
![](https://raw.githubusercontent.com/pranabendra/articles/master/Euler-method/images/eqn007.png)
Resolvendo analiticamente, a solução é _**y = e x**_ e `y(1)` = `2.71828` . (Nota: Esta solução analítica é apenas para comparar a precisão.)
Usando o método de Euler, considerando `h` = `0.2` , `0.1` , `0.01` , você pode ver os resultados no diagrama abaixo.
![](https://raw.githubusercontent.com/pranabendra/articles/master/Euler-method/images/comparison.png)
Quando `h` = `0.2` , `y(1)` = `2.48832` (erro = 8,46%)
Quando `h` = `0.1` , `y(1)` = `2.59374` (erro = 4,58%)
Quando `h` = `0.01` , `y(1)` = `2.70481` (erro = 0,50%)
Você pode notar como a precisão melhora quando as etapas são pequenas.
## Mais Informações:
1. [Métodos numéricos para resolver equações diferenciais](http://calculuslab.deltacollege.edu/ODE/7-C-1/7-C-1-h-c.html)
2. [Método de Euler](https://en.wikipedia.org/wiki/Euler_method)