1. A constante de Catalan, geralmente denotada por G, é um número irracional que surge em várias áreas da matemática, como teoria dos números, combinatória e análise. Numericamente, seu valor é aproximadamente: G \approx 0.915965594177219. A constante pode ser definida pela série infinita na Equação 11.20. Escreva um programa que calcule G com o número de termos solicitado pelo usuário. Calcule o erro relativo em todas as iterações e mostre, em um gráfico, sua evolução.
G=\sum_{n=0}^{\infty} \frac{(-1)^{n}}{(2 n+1)^{2}}

Passo 1

O enunciado pede um programa para aproximar a constante de Catalan
G = \sum_{n=0}^{\infty} \frac{(-1)^{n}}{(2n+1)^{2}}
com um número finito de termos N indicado pelo usuário, calcular em cada iteração o erro relativo da aproximação em relação ao valor verdadeiro de G e mostrar, em um gráfico, a evolução desse erro. O conteúdo envolve séries numéricas, programação imperativa e análise de erro.

Passo 2

Para implementar a aproximação, vamos pedir ao usuário a quantidade de termos N. Em seguida inicializamos
S = 0
para a soma parcial, e criamos um vetor erros de comprimento N para armazenar o erro relativo em cada iteração. Também definimos o valor de referência de G com precisão alta, por exemplo
G_{\text{verdadeiro}} = 0{,}915965594177219.

Passo 3

Percorremos n de 0 até N-1. A cada passo calculamos o termo
t_n = \frac{(-1)^{n}}{(2n+1)^{2}}
atualizamos a soma parcial
S \leftarrow S + t_n
e computamos o erro relativo
\varepsilon_n = \left|\frac{S - G_{\text{verdadeiro}}}{G_{\text{verdadeiro}}}\right|.
Armazenamos \varepsilon_n no vetor erros[n].

Passo 4

Terminada a iteração, teremos um vetor erros com a evolução do erro relativo para cada n. Basta então traçar um gráfico de \varepsilon_n versus n, usando escala logarítmica no eixo vertical para visualizar melhor a convergência.

Passo 5

Abaixo está um exemplo de código em Python que implementa esses passos. Basta copiá-lo num arquivo catalan.py e executá-lo.
import numpy as np
import matplotlib.pyplot as plt

def \(aproxima_catalan\)(N):
\[G_true =0.915965594177219\]
 S \(=0.0\)
 erros = np.zeros(N)
 for n in range(N):
 termo = (-1)**n / (2*n \(+1\))**2
 S \(+=\) termo
 erros[n] = abs((S - \(G_true\)) / \(G_true\))
 return erros

def main():
 N = int(input("Digite o número de termos N: "))
 erros = \(aproxima_catalan\)(N)
 plt.figure()
 plt.semilogy(range(N), erros, marker='o', linestyle='-')
 plt.xlabel("Iteração \(n\)")
 plt.ylabel("Erro relativo \(\varepsilon_n\)")
 plt.title("Convergência da série da constante de Catalan")
 plt.grid(True, which="both", ls="--")
 plt.show()

if __name__ \(==\) "__main__":
 main()

Resposta

O programa acima lê o número de termos N, computa as somas parciais da série
G \approx \sum_{n=0}^{N-1} \frac{(-1)^{n}}{(2n+1)^{2}},
calcula o erro relativo em cada passo e plota sua evolução em escala logarítmica.

Exercícios relacionados