Projeto: Métodos implícitos e estabilidade
O que métodos implícitos podem trazer de diferente
Vamos lá?
Na aula sobre métodos de Runge-Kutta fomos apresentados aos métodos implícitos, sendo o Euler reverso o mais simples deles. Porém, mesmo esse mais simples ainda é mais trabalhoso quando comparado a métodos explícitos. Nesse projeto vamos descobrir o que justifica esse trabalho extra.
Considere o problema de valor inicial que consiste em determinar $y:[t_0,T]\to\R$ que satisfaça $$ y'(t) = f(t,y(t)), \quad t \gt t_0, \qquad y(t_0)=y_0.$$
Nos métodos explícitos para PVI, $y_{n+1}$ é determinado por uma equação explícita a partir de valores computados no passo anterior. Esse é o caso do método de Euler, por exemplo, onde \begin{equation} y_{n+1} = y_n+ hf(t_n,y_n), \quad n=0,1,2,\ldots \end{equation} Por outro lado, nos métodos implícitos $y_{n+1}$ é definido implicitamente pela solução de uma equação. O exemplo mais simples dessa classe de métodos é o método de Euler reverso, dado por \begin{equation} y_{n+1} = y_n+ hf(t_{n+1},y_{n+1}), \quad n=0,1,2,\ldots \end{equation}
Por exemplo, para $f(t,y) = \cos(ty)$, a determinação de $y_{n+1}$ no médoto de Euler reverso envolveria a resolução da equação $$ y_{n+1} = y_n+h\cos(t_{n+1}y_{n+1}). $$ Veremos neste projeto que este esforço traz também alguma recompensa.
Para o desenvolvimento deste projeto, siga o roteiro, no menu lateral.
Referências
Uri M. Ascher e Linda R. Petzold. Computer Methods for Ordinary Differential Equations and Differential-Algebraic Equations. SIAM, 1998.
Vamos considerar o PVI escalar \begin{equation}\label{pviteste} y'(t) = \lambda y, \quad t>0, \qquad y(0) = 1, \end{equation} onde $\lambda$ é um valor real fixo. Este PVI, por ser bem simples, é utilizado como problema teste no estudo de métodos numéricos. A solução do problema \eqref{pviteste} é $y(t) = \exp(\lambda t)$.
Se $\lambda \gt 0$, $y(t)$ cresce ilimitadamente, a medida que $t$ cresce. Esse caso é de pouco interesse real, visto que este comportamento não é comum na natureza.
Se $\lambda=0$, então $y(t)=y_0$ e também não há grande interesse neste caso. Tanto o método de Euler quanto o método de Euler reverso produzem $y_n = y_0$, para todo $n$.
O caso de maior interesse é quando $\lambda \lt 0$. Nesta situação, a função $y$ é estritamente decrescente. Desta forma, esperamos que um bom método numérico seja capaz de, ao menos, capturar esse comportamento.
- Mostre que o método de Euler aplicado ao problema \eqref{pviteste} produz a sequência de aproximações $y_0,y_1,y_2,\ldots$ satisfazendo. $$y_{n+1} = (1+h\lambda)y_n,$$ e portanto $y_n = (1+h\lambda)^ny_0$, para todo $n\ge 0$.
- Denotando $z=h\lambda$, para que valores de $z$, a sequência produzida pelo método de Euler é decrescente (em módulo), ou seja, satisfaz $|y_{n+1}| \lt |y_n|,$ para todo $n\ge 0$ ?
- Mostre que o método de Euler reverso aplicado ao problema \eqref{pviteste} produz a sequência de aproximações $y_0,y_1,y_2,\ldots$ satisfazendo. $$y_{n+1} = {1\over 1-h\lambda}y_n,$$ e portanto $y_n = (1-h\lambda)^{-n}y_0$, para todo $n\ge 0$.
- Ainda denotando $z=h\lambda$, para que valores de $z$, a sequência produzida pelo método de Euler reverso é decrescente em módulo?
- No caso de $\lambda \lt 0$, qual condição deve ser imposta sobre a escolha do passo $h$ para que o método de Euler produza uma sequência decrescente em módulo? Essa condição é ditas condição de estabilidade absoluta do método.
- Determine a condição de estabilidade absoluta para o metódo de Euler reverso.
- Comprove numericamente as descobertas dos itens anteriores. Para tanto tome $\lambda=-10$. Resolva numericamente o \eqref{pviteste} no intervalo $[0,2]$ com diferentes escolhas para o passo $h$, utilizando os dois métodos discutidos. Considere, por exemplo, $h\in\{0.01,0.05,0.1,0.15,0.2,0.25\}$. Para cada $h$ escolhido exiba os gráficos das aproximações numéricas e da solução analítica.
- Para cada $h$ em seus experimentos, compute o erro máximo das aproximações construídas pelos dois métodos.