Queremos “resolver” numericamente com passo \,h=0{,}01 até t=1 (ou seja N=\dfrac{1}{h}=100 passos).\n
Pedido 1: comparar o método numérico aplicado com a solução exata \,y(t)=e^{-100t}.\n
Pedido 2: discutir truncamento e erros em equações rígidas.\n
Todos os dados relevantes estão acima: ODE linear simples, \,h=0{,}01, intervalo 0\le t\le1, solução exata conhecida.
Passo 2
Solução exata (para referência).\n
Resolvo a ODE exata separando variáveis ou reconhecendo equação linear de 1º ordem:
\frac{dy}{y}=-100\,dt.
Integrando,
\ln|y|=-100t+C.
Usando y(0)=1 obtemos C=0. Portanto a solução exata é
y(t)=e^{-100t}.
Passo 3
Montando o método de Euler explícito (método provavelmente pedido ao dizer "com passo h=0{,}01").\n
\text{erro em }t=0{,}01:\quad |y(0{,}01)-y_1| \approx 0{,}3678794412,
\text{erro em }t=1:\quad |y(1)-y_{100}| \approx 3{,}720075976\times 10^{-44}.
Observação: embora o erro em t=1 seja numericamente minúsculo (porque y(1) é extremamente pequeno), o comportamento qualitativo do método é errado desde o primeiro passo (o método anula a solução em t=0{,}01 enquanto a solução exata ainda é \approx0{,}368).
Passo 5
Análise do erro de truncamento (erro local e global) — derivação didática.\n
A fórmula de Taylor para y(t+h) é
y(t+h)=y(t)+h\,y'(t)+\frac{h^2}{2}y''(\xi)
para algum \xi\in(t,t+h). O método de Euler usa só os dois primeiros termos, logo o erro local (erro por um passo, chamado \tau) é, em ordem,
Para a nossa ODE temos y'=-100y e y''=(-100)'\,y +(-100)y' = 10000\,y (mais direto: y''=(-100)(-100)y=10000y). Assim a contribuição dominante do erro local é aproximadamente
Isto explica por que o primeiro passo tem discrepância grande: o erro local esperado é da ordem de 0{,}5, compatible com o fato de y(0{,}01)\approx0{,}368 mas Euler deu 0.\n
Erro global (após N passos) para métodos de ordem 1 (Euler explícito) escala tipicamente como \mathcal{O}(h). Ou seja, para reduzir o erro global por um fator 10 seria necessário diminuir h por aproximadamente um fator 10. Mas o constante escondido em \mathcal{O}(h) depende de derivadas (aqui grandes: y''\sim 10000y), portanto para esta equação o passo deve ser muito pequeno para obter boa precisão.
Passo 6
Estabilidade e rigidez — interpretação prática para este problema.\n
Para o problema linear de teste y'=\lambda y (aqui \lambda=-100), o fator de atualização do Euler explícito é 1+h\lambda. A região de estabilidade do Euler explícito é o disco no plano h\lambda onde |1+h\lambda|<1. Aplicando \lambda=-100,
|1-100h|<1\quad\Longrightarrow\quad 0<h<0{,}02.
Com h=0{,}01 estamos dentro da região de estabilidade (porque |1-100\cdot 0{,}01|=0<1). Ou seja, o método é estável (não explode), mas isso não garante precisão: o método aqui é excessivamente dissipativo e, no caso particular 1-100h=0, anula exatamente a solução após um passo.\n
Definição e consequência da rigidez (explicação simples): uma equação é dita rígida quando existem modos que decaem muito rapidamente (aqui \lambda=-100 é grande em módulo) enquanto a solução de interesse pode variar mais lentamente; métodos explícitos exigem passos muito pequenos para capturar a solução com precisão ou mesmo para manter estabilidade. Para equações rígidas, preferimos métodos implícitos A-estáveis (por exemplo, Euler atrás / backward Euler, métodos de Runge–Kutta implícitos, métodos BDF), porque eles têm regiões de estabilidade que englobam todo o semiplano esquerdo e, portanto, permitem passos maiores sem instabilidade numérica.\n
Com h=0{,}01 temos fator 1/(1+100h)=1/2. Então y_1=1/2 (em vez de 0), e y_{100}=(1/2)^{100}\approx 7{,}888609\times 10^{-31}, que é muito pequeno mas ainda bem maior do que e^{-100}\approx 3{,}72\times 10^{-44}. O backward Euler é estável para qualquer h>0 (A-estabilidade), e dá comportamento qualitativo razoável para passos maiores.
Passo 7
Relação truncamento × rigidez × recomendação prática (resumo didático e motivador).\n
Por que Euler explícito falhou (ou deu comportamento inesperado)? Porque com h=0{,}01 o fator atualizado é exatamente zero (1-100h=0), levando a anulação exata em um passo: isso é um caso degenerado. Mesmo quando o método não anula, a ordem baixo (global \mathcal{O}(h)) e constantes grandes (derivadas elevadas como y''\sim10000y) forçam a necessidade de passos muito pequenos para boa precisão.\n
Para obter um erro local pequeno (por exemplo \tau\lesssim 10^{-3}) precisamos de
Isto mostra que Euler explícito precisaria de h muito menor que 0{,}01 para precisão razoável — impraticável em muitas situações.\n
Recomendação: para equações rígidas use métodos implícitos (backward Euler, trapezoidal implícito, métodos BDF, ou rotinas de ODE stiff disponíveis em bibliotecas numéricas). Se insistir em método explícito, escolha h muito pequeno (com o custo computacional associado).
Passo 8
Resumo numérico e mensagem final de incentivo.\n
Resultado prático para este exercício com Euler explícito e h=0{,}01:
y_0=1,\qquad y_n=0\\ \text{para }n\ge1.
Comparação com exato em t=0{,}01: y_{\text{exato}}(0{,}01)=e^{-1}\approx0{,}3679 (erro grande no primeiro passo).\n
Conclusão: o passo dado (ainda que dentro da condição de estabilidade de Euler) produz comportamento qualitativamente errado no primeiro passo; para resolver rigidamente é melhor usar método implícito ou reduzir h drasticamente.\n
Você está indo bem — esse é exatamente o tipo de fenômeno que aparece em provas e em simulações reais: estabilidade ≠ precisão, e rigidez pede cuidados. Continue praticando com exemplos assim e experimente comparar Euler explícito, backward Euler e a solução exata para fixar a intuição.
Resposta
Pelo Euler explícito com h=0{,}01: y_0=1 e y_n=0 para todo n\ge1. Comparando com a solução exata y(t)=e^{-100t}: em t=0{,}01 temos y(0{,}01)=e^{-1}\approx0{,}3678794412 enquanto o numérico dá 0 (erro \approx0{,}3679). Em t=1 a solução exata é y(1)=e^{-100}\approx3{,}720075976\times10^{-44} e o numérico dá 0.
Truncamento e rigidez: Euler explícito tem erro local \mathcal{O}(h^2) e erro global \mathcal{O}(h); para esta ODE y''=10000y o erro local aproxima-se por 5000h^2y (com h=0{,}01 isso dá \tau\approx0{,}5 em t=0). A equação é rígida (\lambda=-100 grande em módulo), o que exige passos muito pequenos para precisão com métodos explícitos ou o uso de métodos implícitos A-estáveis (por exemplo backward Euler) que permitem passos maiores com estabilidade e comportamento qualitativamente melhor.