A série infinita apresentada na Equação 11.16 converge para o valor \lambda=\frac{\pi}{90} quando n \rightarrow \infty. Escreva um programa em Python para calcular a aproximação de f(n) com base em um número de iterações fornecido pelo usuário. Para cada iteração, calcule o erro relativo em relação ao valor exato de \lambda. Ao final, gere um gráfico que mostre a evolução do erro relativo ao longo das iterações.
import math
import matplotlib.pyplot as plt
def \(compute_errors\)(N):
\(lambda_exact\) = math.pi**4 / 90
\[partial_sum =0.0\]
errors = []
for k inrange(1, N\(+1\)):
\(partial_sum +=1.0\) / k**4
err = abs((\(partial_sum\) - \(lambda_exact\)) / \(lambda_exact\))
errors.append(err)
return errors
defmain():
try:
N = int(input("Digite o número de iterações N: "))
if N < 1:
raise ValueError("N deve ser maior que zero.")
except ValueError as e:
print("Entrada inválida:", e)
return
errors = \(compute_errors\)(N)
plt.figure(figsize=(8,5))
plt.semilogy(range(1, N\(+1\)), errors, marker='o', linestyle='-')
plt.xlabel("Iteração \(n\)")
plt.ylabel("Erro relativo")
plt.title("Evolução do erro relativo em \(f(n) = \sum_{k=1}^n 1/k^4\)")
plt.grid(True, which="both", ls="--")
plt.\(tight_layout\)()
plt.show()
if __name__ \(==\) "__main__":
main()
Resposta
O programa acima lê o número de iterações, calcula em cada passo a soma parcial de 1/k^4, computa o erro relativo em relação a \lambda = \pi^4/90 e plota a evolução desse erro ao longo das iterações.