Crie um subplot(4,1,n) para plotar os gráficos de (a) e (b)
(b) Plote os gráficos da solução numérica, por Euler Melhorado com
, e a solução analítica para os primeiros 5 segundos. Plote, também, os erros absolutos.
(b) Plote os gráficos da solução numérica, por Euler Melhorado com
Passo 1
Beleza, vamos lá! O enunciado pede para a gente criar um subplot com 4 linhas e 1 coluna (
subplot(4,1,n)
) para plotar dois gráficos específicos:- (a) – [Aqui falta a parte (a), mas vamos focar na parte (b) que você enviou]
- (b) – Aqui, queremos plotar três coisas:
- A solução numérica usando o método de Euler Melhorado com passo
- A solução analítica para os primeiros 5 segundos
- Os erros absolutos entre as soluções numérica e analítica
- A solução numérica usando o método de Euler Melhorado com passo
Vamos precisar entender sobre métodos numéricos (Euler Melhorado), como comparar com soluções analíticas e como calcular erros absolutos. Também vamos usar uma linguagem de programação que suporte criação de subplots, como MATLAB ou Python com Matplotlib.
Passo 2
Primeiro, vamos entender o método de Euler Melhorado. Ele é uma versão mais precisa do método de Euler para resolver equações diferenciais ordinárias (EDOs). A ideia é melhorar a estimativa do próximo ponto usando a inclinação média.
A fórmula do Euler Melhorado é:
Aqui:
-
é o valor atual -
é o passo -
é a função que define a EDO
Vamos precisar implementar essa fórmula para obter a solução numérica.
Passo 3
Agora, precisamos definir a solução analítica. Suponhamos que a EDO seja simples e tenha uma solução conhecida. Por exemplo, se tivermos:
A solução analítica para
seria:
Vamos usar essa solução para comparar com a solução numérica obtida pelo método de Euler Melhorado.
Passo 4
Vamos implementar o método de Euler Melhorado no código. Supondo que estamos usando Python com Matplotlib, o código ficaria assim:
import numpy as np
import matplotlib.pyplot as plt
# Parâmetros
h = 0.1
t_final = 5
N = int(t_final / h) + 1
t = np.linspace(0, t_final, N)
y_num = np.zeros(N)
y_anal = np.zeros(N)
erro = np.zeros(N)
# Condição inicial
y_num[0] = y0 # substituir por y0 específico
y_anal[0] = 1 + (y0 - 1) * np.exp(-2 * t[0])
# Função f(t, y)
def f(t, y):
return -2 * y + 2
# Método de Euler Melhorado
for i in range(0, N-1):
k1 = f(t[i], y_num[i])
k2 = f(t[i] + h, y_num[i] + h * k1)
y_num[i+1] = y_num[i] + (h/2) * (k1 + k2)
y_anal[i+1] = 1 + (y0 - 1) * np.exp(-2 * t[i+1])
erro[i+1] = abs(y_num[i+1] - y_anal[i+1])
Passo 5
Agora, vamos criar os subplots para visualizar os resultados. Usaremos
subplot(4,1,n)
para criar um layout com 4 linhas e 1 coluna. Vamos plotar:- Solução numérica
- Solução analítica
- Erro absoluto
O passo a passo no código seria:
plt.figure(figsize=(10, 8))
# Subplot 1: Solução numérica
plt.subplot(4, 1, 1)
plt.plot(t, y_num, label='Solução Numérica (Euler Melhorado)')
plt.title('Solução Numérica')
plt.xlabel('Tempo (s)')
plt.ylabel('y(t)')
plt.legend()
# Subplot 2: Solução analítica
plt.subplot(4, 1, 2)
plt.plot(t, y_anal, label='Solução Analítica', color='orange')
plt.title('Solução Analítica')
plt.xlabel('Tempo (s)')
plt.ylabel('y(t)')
plt.legend()
# Subplot 3: Erro Absoluto
plt.subplot(4, 1, 3)
plt.plot(t, erro, label='Erro Absoluto', color='red')
plt.title('Erro Absoluto entre Soluções')
plt.xlabel('Tempo (s)')
plt.ylabel('Erro')
plt.legend()
# Ajuste o layout para não sobrepor os gráficos
plt.tight_layout()
plt.show()
Resposta
Prontinho! Com esse passo a passo, você deve conseguir plotar as soluções numérica e analítica, além dos erros absolutos, usando subplots corretamente. Basta ajustar o valor inicial
conforme o seu problema específico e rodar o código no seu ambiente de programação escolhido.
Exercícios relacionados
Suponha que uma certa calculadora pode realizar apenas as operações de soma, subtração e multiplicação. Calcule o valor de 3/13 nesta calculadora utilizando um dos métodos estudados em sala de aula. Justifique a escolha do método.
Isole os zeros da equação
Dica: Use a tabela de valores para e analise as mudanças de sinais.
Dica: Use a tabela de valores para
|
1 | 2 | 3 | 4 | 5 | 10 |
---|---|---|---|---|---|---|
|
Crie um subplot(4,1,n) para plotar os gráficos de (a) e (b)
(a) Plote os gráficos da solução numérica por Euler com , e a solução analítica para os primeiros 5 segundos. Plote, também, os erros absolutos.
(a) Plote os gráficos da solução numérica por Euler com
Crie um subplot(2,1,n) para esta questão. Utilize a função ode45 e plote na mesma janela, os gráficos das soluções numérica e analítica. Plote o gráfico dos erros absolutos.