Questão 8 - Integração entre teoria, computação e realidade

O método de Euler é amplamente utilizado para aproximar soluções de equações diferenciais em situações onde a solução analítica não é viável.

Problema:

Aplique o método de Euler à equação
y^{\prime \prime}+y=0, \quad y(0)=1, \quad y^{\prime}(0)=0
e compare com a solução exata.

Discussão:

Em quais situações do mundo real (educação, biologia, economia ou engenharia) aceitar aproximações numéricas é mais adequado do que buscar soluções exatas?

Passo 1

O enunciado dá a equação diferencial de segunda ordem e pede duas coisas:
  • Aplicar o método de Euler à equação
y'' + y = 0,
com condições iniciais
y(0)=1,\qquad y'(0)=0.
  • Comparar a aproximação obtida pelo método de Euler com a solução exata.
    Além disso, o enunciado pergunta qualitativamente em que situações do mundo real é mais adequado aceitar aproximações numéricas do que buscar soluções exatas.
Informações relevantes fornecidas:
  • Equação: \;y''+y=0.
  • Condições iniciais: \;y(0)=1 e \;y'(0)=0.
  • Não foi dado passo (h) nem intervalo de tempo; portanto a resolução deve apresentar o método de forma geral (para passo arbitrário h) e também ilustrar com exemplos numéricos para comparar com a solução exata.

Passo 2

Transformar a equação de segunda ordem em um sistema de primeira ordem (passo necessário para aplicar métodos numéricos padrão).
Defino a velocidade auxiliar \;v(t)=y'(t)\). Então o sistema equivalente é \[\begin{cases} y' = v,\\[4pt] v' = -y, \end{cases}
com condições iniciais
y(0)=1,\qquad v(0)=0.
Explicação didática: trocar uma EDO de ordem maior por um sistema de EDOs de primeira ordem é um procedimento padrão porque métodos numéricos como Euler trabalham diretamente com equações da forma \;u' = f(t,u)\]. Aqui a variável de estado é o vetor \(\;(y,v).]

Passo 3

Apresentar o método de Euler explícito de forma geral.
Se tivermos um sistema \;u' = f(t,u) e uma malha temporal \;t_n = n h com passo \;h>0, o método de Euler explícito dá a iteração
u_{n+1} = u_n + h\,f(t_n,u_n).
Significado dos termos:
  • \;u_n é a aproximação de u(t_n).
  • \;h é o passo de tempo (quanto maiores os passos, mais grosseira a aproximação).
  • O método usa a inclinação em \;t_n para avançar uma etapa.
Erro e ordem (breve): localmente cada passo tem erro do tipo \mathcal{O}(h^2) (erro de truncamento local) e globalmente a solução tem erro \mathcal{O}(h) (erro global proporcional a h). Vou detalhar isso mais adiante.

Passo 4

Aplicar Euler explícito ao sistema [;y’ = v,; v’ = -y).
Usando u=(y,v) e f(u)=(v,-y), a iteração de Euler dá
\begin{cases} y_{n+1} = y_n + h\,v_n,\\[4pt] v_{n+1} = v_n + h\,(-y_n) = v_n - h\,y_n, \end{cases}
com condição inicial ((y_0,v_0)=(1,0)].
Forma matricial (ajuda a analisar comportamento):
\begin{pmatrix}y_{n+1}\\[4pt] v_{n+1}\end{pmatrix} = \underbrace{\begin{pmatrix}1 & h\\[4pt] -h & 1\end{pmatrix}}_{M} \begin{pmatrix}y_n\\[4pt] v_n\end{pmatrix}.
Interpretação: cada passo é multiplicar o vetor estado por a matriz M=I+hA onde A=\begin{pmatrix}0&1\\\ -1&0\end{pmatrix} é a matriz do sistema linear original.]

Passo 5

Escrever a solução exata do problema (para comparação).
A equação \;y''+y=0 tem soluções do tipo combinação de seno e cosseno. A solução que satisfaz as condições iniciais \;y(0)=1,\;y'(0)=0 é
y(t)=\cos t,\qquad v(t)=y'(t)=-\sin t.
Verificação rápida: \cos'' t = -\cos t e \cos 0=1,\;(-\sin 0)=0, então a solução está correta.

Passo 6

Fazer algumas iterações de exemplo para ver como o método se comporta (ilustrar passo a passo com números fáceis).
Escolho um passo razoável para ilustração: h=0,1 (pode-se escolher outros, veremos o efeito do h depois).
Condição inicial:
y_0=1,\qquad v_0=0.
Primeira iteração ( n=0 para t_1=h=0,1):
y_1 = y_0 + h v_0 = 1 + 0{,}1\cdot 0 = 1,
v_1 = v_0 - h y_0 = 0 - 0{,}1\cdot 1 = -0{,}1.
Segunda iteração ( t_2=0{,}2):
y_2 = y_1 + h v_1 = 1 + 0{,}1\cdot(-0{,}1) = 1 - 0{,}01 = 0{,}99,
v_2 = v_1 - h y_1 = -0{,}1 - 0{,}1\cdot 1 = -0{,}2.
Terceira iteração ( t_3=0{,}3):
y_3 = y_2 + h v_2 = 0{,}99 + 0{,}1\cdot(-0{,}2) = 0{,}97,
v_3 = v_2 - h y_2 = -0{,}2 - 0{,}1\cdot 0{,}99 = -0{,}299.
Comparação com a solução exata (valores aproximados da solução exata):
y(0{,}1)=\cos(0{,}1)\approx 0{,}99500,\qquad y_1^{\text{(Euler)}}=1,\quad\text{erro}\approx 0{,}00500,
y(0{,}2)=\cos(0{,}2)\approx 0{,}98007,\qquad y_2^{\text{(Euler)}}=0{,}99,\quad\text{erro}\approx 0{,}00993,
y(0{,}3)=\cos(0{,}3)\approx 0{,}95534,\qquad y_3^{\text{(Euler)}}=0{,}97,\quad\text{erro}\approx 0{,}01466.
Observação prática: o erro cresce com o tempo (a cada passo fica um pouco maior). Se aumentar h (por exemplo h=0{,}5) os erros ficam rapidamente grandes; se diminuir h (por exemplo h=0{,}01) os erros diminuem aproximadamente na mesma proporção.

Passo 7

Analisar estabilidade e crescimento de energia da solução numérica (por que Euler se comporta mal aqui).
Calculo da matriz de passo M já dada:
M=\begin{pmatrix}1 & h\\[4pt] -h & 1\end{pmatrix}.
As autovalores de M são \lambda = 1 \pm i h. O módulo de cada autovalor é
|\lambda|=\sqrt{(1)^2 + (h)^2}=\sqrt{1+h^2}>1\quad\text{para todo }h>0.
Isso significa que cada iteração multiplica o comprimento do vetor (y,v) por \sqrt{1+h^2} (no sentido médio), e portanto a “energia” numérica
E_n := y_n^2 + v_n^2
é multiplicada, a cada passo, por 1+h^2. De fato pode-se verificar diretamente que
y_{n+1}^2+v_{n+1}^2=(1+h^2)\,(y_n^2+v_n^2).
Consequência: a solução exata do oscilador harmónico tem energia constante ao longo do tempo, mas o Euler explícito aumenta a energia exponencialmente com o número de passos. Portanto o método é instável (não preserva a quantidade física importante aqui) e produz amplitude crescente — claramente um comportamento qualitativamente errado para um sistema conservativo.
Exemplo numérico: com h=0{,}1 o factor por passo é 1+h^2=1{,}01. Após 100 passos (tempo t=10) a energia cresce por 1{,}01^{100}\approx 2{,}7 (ou seja, quase triplica) — erro acumulado grande.]

Passo 8

Breve análise de erro teórica (ordens) e interpretação prática.
  • Erro de truncamento local: desenvolvendo a solução verdadeira em série de Taylor,
y(t+h)=y(t)+h y'(t)+\tfrac{h^2}{2}y''(t)+\mathcal{O}(h^3).
O método de Euler usa só os dois primeiros termos, logo o erro por passo é da ordem \mathcal{O}(h^2).
  • Erro global (após muitas etapas até um tempo fixo T) é da ordem \mathcal{O}(h). Na prática isto significa: para reduzir o erro global por um fator 10, é preciso reduzir h por um fator 10 (e consequentemente aumentar o número de passos por 10).
No caso do oscilador harmónico, além do tamanho do erro, existe a questão qualitativa da estabilidade: mesmo que h seja pequeno, a energia cresce (mas mais lentamente para h pequeno). Métodos com boa estabilidade para longo tempo (por exemplo métodos symplectic/geométricos) são preferíveis para sistemas conservativos.

Passo 9

Alternativas e sugestão prática para a prova (o que responder e o que comentar rapidamente).
  • Se a prova pede somente “aplicar Euler”, dê a recorrência
y_{n+1}=y_n+h v_n,\qquad v_{n+1}=v_n-h y_n,
e compare com a solução exata y(t)=\cos t. Mostre um ou dois passos numéricos e os erros como exemplifiquei acima.
  • Se a prova pedir comentário sobre estabilidade, diga que o método explícito de Euler não preserva a energia e é instável para o oscilador harmónico: a amplitude cresce por um fator \sqrt{1+h^2} por passo.
  • Se for pedido melhorar a aproximação, cite alternativas rápidas: método do trapézio (implícito, mais estável), método de Euler semi-implícito (symplectic Euler) ou Verlet/Stormer–Verlet (muito usado em física e mecânica; preserva energia qualitativamente) — essas mantêm amplitude mais controlada.

Passo 10

Responder a pergunta qualitativa: quando aceitar aproximações numéricas é mais adequado que buscar soluções exatas?
Razões gerais (e exemplos concretos em educação, biologia, economia, engenharia):
  • Complexidade e inexistência de solução fechada: muitos modelos reais levam a equações sem solução analítica (ex.: modelos com não-linearidades complexas). Ex.: modelos de dinâmica populacional com termos de interação complexos em biologia; aceita-se solução numérica.
  • Dados incertos e modelos aproximados: se os parâmetros vêm de dados ruidosos, uma solução exata de um modelo idealizado tem pouco valor prático — é melhor ancorar em aproximações numéricas com análise de sensibilidade. Ex.: estimação de parâmetros em modelos epidemiológicos (SIR com parâmetros estimados).
  • Necessidade de rapidez e eficiência: em tempo real (controle de processos, mercados financeiros, simulações em engenharia) é necessário aproximar rápido; métodos numéricos eficientes são preferidos. Ex.: sistemas de controle embarcados, precificação de opções via métodos numéricos.
  • Simulação para projeto e validação: engenheiros usam simulações numéricas (CFD, elementos finitos) porque a solução exata é impossível para geometrias reais.
  • Ensino e intuição: aproximações numéricas permitem experimentar e visualizar fenômenos; em sala de aula às vezes é melhor fazer simulações numéricas do que longas deduções analíticas.
Resumo em linguagem direta:
  • Aceitar aproximações é adequado quando a solução exata é inexistente, quando o modelo é incerto, quando se precisa de resultados práticos rapidamente, ou quando se busca entendimento por simulação. Em sistemas conservativos (como o oscilador harmónico) é importante escolher métodos numéricos que preservem as propriedades qualitativas (energia, invariantes); nem todo método numérico serve bem para todos os problemas.

Resposta

Recorrência de Euler explícito para o sistema: \;y_{n+1}=y_n+h v_n,\; v_{n+1}=v_n-h y_n.
Solução exata: \;y(t)=\cos t,\; v(t)=-\sin t.
Comparação: Euler tem erro global \mathcal{O}(h) e, para este oscilador, aumenta a energia (por passo a energia é multiplicada por 1+h^2), logo produz amplitude crescente (comportamento qualitativamente errado a longo prazo).
Quando aceitar aproximações numéricas: quando não existe solução fechada, quando o modelo/parametros são incertos, quando é necessária rapidez ou simulação prática (ex.: modelagem em biologia/epidemiologia, simulações de engenharia CFD/EF, precificação numérica em economia, ensino por simulação); escolher métodos apropriados (p.ex. métodos symplectic para sistemas conservativos) é crucial.

Exercícios relacionados