19 de xuño de 2012

Raízes quadradas rápidas

Sempre fiquei perplexo sobre a maneira de ensinar o cálculo de raízes quadradas nas escolas de primária. Lembro um método pesado em que cada dígito era extraído com bastante suor.

Na faculdade, especialmente nos meus estudos em engenharia em informática, não tenho tido sempre a licença para usar uma calculadora nos exames, então eu aprendi a calcular raízes quadradas à pressa, com lápis e papel; umas raízes quadradas digamos de emergência mas suficientemente aproximadas para a imensa maioria de casos. No meu caso, gosto de usar o algoritmo de Newton-Raphson aplicado à equação f(x)= x - raiz (K) = 0

Suponha que seja preciso calcular a raiz de um número real K. Para calcular a raiz de K, primeiro assumimos uma primeira aproximação x[0]. Para números pequenos minha estimativa usual é x[0] = K/2
Até 1000 vai bem iniciar com x[0]= 8+(K/40). Em outros casos os quadrados perfeitos dão alguma idéia.

Feita a primeira estimativa x[0], esta é refinada apenas uma ou duas vez com
x[i+1] = (1/2) * (x[i] + (K / x[i]))

Por exemplo, se você está na obra e não tem una calculadora de mão e um operário pergunta-lhe qual o lado de uma laje de 500 metros quadrados, sabe que o lado L = raiz(500) = 10 raiz*(5) = 10*xentão

x [0] = 5/2 = 2,5 (erro de 12%)
x [1] = 9/4 = 2,25 (erro de 1%)
x [2] = 161/72 = 2,2361 ... (% de erro 0,002)

portanto o lado é L = 22.361 m

A diferença entre algoritmos é evidente nas imagens anexadas abaixo.

Algoritmo da escola






Algoritmo iterativo