Visitante
Métodos de Passo Único
Considere um problema de valor inicial:
$$ \begin{cases} \frac{\text{d}y}{\text{d}x}= g(x,y), \\ y(x_1) = y_1. \end{cases} $$ De posse do valor inicial da função ${y_1}$ para um determinado ${x_1}$, desejamos calcular os próximos valores para ${y}$, de forma a obter a cada iteração o valor de ${ y_{i+1}}$ para um determinado ${ x_{i+1}}$, variando
$x_1 \leq x \leq x_f$.
A solução numérica de uma EDO é formada por um
conjunto de pontos discretos que representam a função
${y(x)}$ de forma aproximada em um dado domínio $[{x_1,x_f}]$ onde $x_1 \leq x \leq x_f$.
${i}$ | ${x_i}$ | ${y_i}$ |
---|---|---|
${1}$ | ${x_1}$ | ${y_1}$ |
. . . |
. . . |
. . . |
${n}$ | ${x_n}$ | ${y_n}$ |
Ou, em termos matemáticos,
$$ \begin{aligned} y_{i+1} &= y_i + k h, \\ x_{i+1} &= x_i + h, \end{aligned} $$onde $h$ é chamado de passo e $k$ é uma estimativa da inclinação média da função no intervalo $[x_i, x_{i+1}]$.
Com os conceitos de métodos numéricos aplicados à resolução de EDOs bem definidos, podemos agora ver o primeiro método, chamado de método de Euler.
Método de Euler
O método de Euler nos diz que, se quisermos calcular a solução de uma determinada equação diferencial $ \frac{dy}{dx}= g(x,y)$, nós podemos usar, inicialmente, essa equação diferencial e aplicar nela os valores iniciais $(x_i, y_i)$ para descobrir uma primeira inclinação da função: $$ {k = g(x_i,y_i)}. $$ Esse método presume que a inclinação da função durante todo o intervalo é constante. Dessa forma, podemos aproximar a inclinação média da função no intervalo como sendo a mesma inclinação do início do intervalo. Assim, calculamos o próximo valor da função da seguinte maneira:
$$ \begin{aligned} y_{i+1} &= y_i + g(x_i,y_i)h \\ x_{i+1} &= x_i + h. \end{aligned} $$A aproximação feita pelo método de Euler pode ser vista na figura abaixo:
Observamos que quanto maior o tamanho do passo, $h$, maior será o erro cometido pela aproximação.
Exemplo
Use o método de Euler para resolver o PVI
de $a = 0$ até $b = 2.5$ com um passo $h = 0.5$.
Compare o resultado com a solução analítica:
-
Partimos do ponto inicial $(0;3)$, como mostrado no gráfico acima.
Problemas com o método de Euler
O método de Euler, apesar de ser simples, tem o problema de apresentar erros, pois a aproximação feita pelo método não tem uma boa precisão. Dessa forma, além de haver um erro local causado pela aproximação da inclinação em cada iteração, há também o erro acumulado, já que em cada iteração se usa um valor anterior que já continha um erro.
Uma solução para diminuir a propagação do erro é diminuir o tamanho do passo $h$. Porém, a medida que diminuímos o valor de $h$, aumentamos o esforço computacional. A melhor solução, então, é utilizar outro método que tenha uma melhor precisão, como é o caso dos métodos de Runge-Kutta que veremos a seguir.
Algoritmo para implementação computacional