Método de Euler

Fonte: testwiki
Revisão em 03h19min de 14 de abril de 2019 por 177.189.122.40 (discussão) (Método de Euler contra métodos de ordem maior)
(dif) ← Revisão anterior | Revisão atual (dif) | Revisão seguinte → (dif)
Saltar para a navegação Saltar para a pesquisa
Ilustração do método de Euler. A curva desconhecida está em azul, e sua aproximação polinomial está em vermelho.[1]

Em matemática e ciência computacional, o método de Euler, cujo nome relaciona-se com Leonhard Euler, é um procedimento numérico de primeira ordem para solucionar equações diferenciais ordinárias com um valor inicial dado. É o tipo mais básico de método explícito para integração numérica para equações diferenciais ordinárias.

Formulação do Método de Euler

Suponha que queremos aproximar a solução de um problema de valor inicial:

y(t)=f(t,y(t)),y(t0)=y0.

Escolhendo um valor para h para o tamanho de cada passo e atribuindo a cada passo um ponto dentro do intervalo, temos que tn=t0+nh. Nisso, o próximo passo tn+1 a partir do anterior tn fica definido como tn+1=tn+h, então: [2]

yn+1=yn+hf(tn,yn). Com isso, para um valor menor de h teremos mais passos dentro de um dado intervalo, mas que terá melhor aproximação com o valor analítico.

O valor de yn é uma aproximação da solução da EDO no ponto tn: yny(tn). O Método de Euler é explícito, ou seja, a solução yn+1 é uma função explícita de yi para in.

Enquanto o Método de Euler integra uma EDO de primeira ordem, qualquer EDO de ordem N pode ser representada como uma equação de primeira ordem: tendo a equação

y(N)(t)=f(t,y(t),y(t),,y(N1)(t)),

temos a introdução de variáveis auxiliares z1(t)=y(t),z2(t)=y(t),,zN(t)=y(N1)(t) obtendo a seguinte equação:

𝐳(t)=(z1(t)zN1(t)zN(t))=(y(t)y(N1)(t)y(N)(t))=(z2(t)zN(t)f(t,z1(t),,zN(t)))

Este é um sistema de primeira ordem na variável 𝐳(t) e pode ser usada através do Método de Euler ou qualquer outros métodos de resoluções de sistemas de primeira ordem.[3]

Exemplo

Dado o problema de valor inicial

y=y,y(0)=1,

vamos usar o método de Euler para aproximar y(4).[4]

Usando um passo igual a 1 (h = 1)

Ilustração da integração numérica para o exemplo y=y,y(0)=1.[5] A curva em Azul é o método de Euler com h = 1.0.; em Verde, o ponto médio e em Vermelho, o valor exato da solução, y=et.

O método de Euler é

yn+1=yn+hf(tn,yn).

Primeiramente devemos aplicar o ponto f(t0,y0). Nesse exemplo, a função f é definida por f(t,y)=y. Nisso, temos que

f(t0,y0)=f(0,1)=1.

Através do passo acima, vemos que a declividade da linha é tangente à solução da curva no ponto (0,1). Lembre que a declividade é definida como a variação numérica de y em relação a t, ou Δy/Δt.

O próximo passo é multiplicar o valor acima pelo tamanho do passo h, que nesse caso resultará em:

hf(y0)=11=1.

Como o tamanho do passo é a variação em t, quando multiplicamos esse passo pela declividade da tangente, resultamos em um novo valor para y. Esse valor é então colocado ao valor de y inicial, com o objetivo de obtermos o próximo valor para ser usado de modo recursivo.

y0+hf(y0)=y1=1+11=2.

Os passos acima devem ser repetidos para assim encontrarmos y2, y3 e y4.

y2=y1+hf(y1)=2+12=4,y3=y2+hf(y2)=4+14=8,y4=y3+hf(y3)=8+18=16.

Como isso se torna um processo repetitivo, uma boa forma de organizar cada iteração em forma de tabela, evitando a possibilidade de erros.

n yn tn f(tn,yn) h Δy yn+1
0 1 0 1 1 1 2
1 2 1 2 1 2 4
2 4 2 4 1 4 8
3 8 3 8 1 8 16

A conclusão desse método é de que y4=16, enquanto a solução exata da equação diferencial é y(t)=et, então y(4)=e454,598. Nesse caso, a aproximação por Método de Euler não é muito eficiente, porém podemos ver na imagem que o comportamento de ambas as curvas são semelhantes.

Usando outros tamanhos para h

A mesma ilustração para h = 0.25.

Como mostrado no início, o método possui sua aproximação aprimorada quando tomamos valores cada vez menores para h. A tabela abaixo mostra o resultado para diferentes tamanhos de h. A primeira linha são os valores para h=1, conforme descrito no tópico anterior. Já a segunda linha é para h=0,25, conforme ilustrado ao lado.

Tamanho de h Resultado do Método de Euler Erro Absoluto
1 16 38,598
0,25 35,53 19,07
0,1 45,26 9,34
0,05 49,56 5,04
0,025 51,98 2,62
0,0125 53,26 1,34

O erro absoluto é a diferença entre o valor obtido por Euler e o valor exato da solução para t=4. Podemos ver que, ao ponto que o valor de h vai caindo pela metade a cada linha, o erro aproximadamente possui o mesmo comportamento. Isso sugere que o erro absoluto é relativamente proporcional ao tamanho do passo de cada iteração adotado. Essa notação perde a validade para passos muito pequenos, mas geralmente é válida em demais equações; consulte Erro de truncamento para mais detalhes.

Em outros métodos ilustrados, como o Método dos Pontos Médios neste caso mostraram-se mais razoáveis, pois este possui uma precisão proporcional quadrática do tamanho do passo. Por essa razão, tem-se o Método de Euler como um método de primeira ordem, enquanto o Método dos Pontos Médios é dito como de segunda ordem.

Podemos extrapolar a tabela acima se precisamos de uma melhor precisão através da escolha de valores como h=0,00001 que, para chegar em t=4, necessitamos de 400.000 passos. Esse método demanda, portanto, um grande custo computacional; com isso, usam-se métodos com maior ordem de precisão, como o Método de Runge-Kutta, quando uma grande aproximação é necessária.[6]

Método de Euler contra métodos de ordem maior

A ordem de um método mede o quão rapidamente este converge para a solução analítica quando se diminui os passos na integração numérica [7]. Infelizmente devido a limitações computacionais, erros de arredondamento crescem quando se diminui o tamanho dos passos, ocorrendo até mesmo divergência ou mesmo valores errados. Uma forma de resolver este problema é aumentar a ordem do método numérico. Por exemplo, métodos de ordem maiores incluem método de Runge-Kutta e o método de Euler melhorado.

Notas

Predefinição:Reflist

Ver também

  1. Predefinição:Citar web
  2. Predefinição:Harvnb; Predefinição:Harvnb
  3. Predefinição:Harvnb; Predefinição:Harvnb
  4. Veja Também Predefinição:Harvnb
  5. Predefinição:Citar web
  6. Predefinição:Harvnb
  7. Devries, Paul L. ; Hasbun, Javier E. A first course in computational physics. Second edition. Jones and Bartlett Publishers: 2011.