Runge-kutta
Trata-se de resolver a equação diferencial y’(x) = dy/dx = f(x,y) , passando pelo ponto (x0 , y0).
O Método de Euler corresponde ao Método de Taylor, parando-se na primeira derivada.
No desenvolvimento em Taylor, tem-se: y(x0 + h) = y(x0) + y’ (x0).h + y’’(x0).h2/2!+ y’’’(x0).h3/3! + ....
No Método de Euler, toma-se: y(x0 + h) ( y(x0) + y’ (x0).h
Lembrando-se que y’(x) é a própria equação diferencial, tem-se:
y1 = y(x1) = y(x0 + h) ( y(x0) + f(x0 ,y0) . h
Em seguida, são calculados os demais valores da tabela (x,y).
y2 = y(x1+h) = y1 + f(x1 ,y1) . h
.....
yi+1 = y(xi+h) = yi + f(xi ,yi) . h
Vejamos o que ocorre graficamente,
(gráfico ...)
Seja a equação diferencial dy/dx = y, passando pelo ponto (1,e), onde e = 2,718284590... base dos logaritmos neperianos.
Sabemos que a solução exata é : y = ex
Vamos estimar, por Euler, o valor em x = 1,5.
y(1,5) = y(1,0) + y’(1,0).0,5 = 2,718 + 2,718 * 0,5 = 4,077
O valor exato, com três casas decimais, é: e1,5 = 4,482
No gráfico acima, vemos que o Método de Euler segue a tangente a curva, passando pelo ponto (x0,y0) , com inclinação y’(x0), que no caso particular vale exo = exp(x0) = e1 = 2,718.
O Método de Euler está levando a um valor abaixo do verdadeiro valor.
4,077 ( 4,482
O erro tão grande deve-se a se ter tomado um h = 0,5, bastante grande diante dos valores com que se está trabalhando.
Tivéssemos tomado um h = 0,1 e o erro seria bem inferior.
Por Euler, y(1,1) = y(1,0) + y’(1,0).0,1 = 2,718 + 2,718 * 0,1 = 2,9898
E o valor exato é: 3,0042 , com quatro casas decimais.
Comentário sobre o Método de Euler
Seja a equação diferencial já vista anteriormente:
dy/dx = y, passando pelo ponto y(1) = e = 2,718284590...
O gráfico abaixo mostra a solução exata e, em verde, o cálculo de y(1,5), por Euler, com h = 0,5.
(figura)
Vimos que:
y(1,5) = y(1,0) + y’(1,0).0,5 = 2,718 + 2,718