\pi = \frac{comprimento-do-circulo}{diametro}
Claro que a melhor forma de obter o valor de \pi não é construindo um círculo, medindo o seu comprimento e depois dividindo pelo diâmetro. Erros de construção e medição iriam afetar o resultado final. Entre as fórmulas conhecidas para o cálculo de podemos citar (Gregory e Leibniz, Beeler et al. e Bailey et al.):
\pi/4 = \sum_{k=1}^{\infty} \frac{(-1)^{k+1}}{2k-1}
\pi/2 = 1+\frac{1}{3} + \frac{1.2}{3.5}+ \frac{1.2.3}{3.5.7} + \frac{1.2.3.4}{3.5.7.9} ...
\pi=\sum_{n=0}^{\infty} (\frac{4}{8n+1}-\frac{2}{8n+4}-\frac{1}{8n+5}-\frac{1}{8n+6}).(\frac{1}{16})^n.
Entretanto, não iremos usar nenhuma dessas fórmulas para o cálculo de \pi. Usaremos o método de Newton-Raphson (para saber sobre esse método ver aqui) para encontrar zeros de uma função para calcular numericamente o valor de \pi. Resumidamente, o método de Newton consiste no seguinte algoritmo: x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)}
sendo x_0 o chute inicial da raiz da função f(x). Esse chute não pode ser muito distante da raiz da função. No caso, escolhendo a função \sin(x) = 0 e como chute inicial x_0 = 3, usamos fórmula iterativa
x_{n+1} = x_n - \tan(x_n)
e obtemos:
n: valor x_n: erro (x_n - \pi):
1. 3.1425465430742778316642 - 0.0009538894844847156662
2. 3.1415926533004769893864 0.0000000002893161266115
3. 3.1415926535897931159980 0.
O código Scilab é bem simples:
x=3
for k=1:3
x=x- tan(x);
e=%pi-x;
disp([k,x,e]);
end
Nenhum comentário:
Postar um comentário