[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: curiosidade





On Tue, 8 Aug 2000, Olimpiada Brasileira de Matematica wrote:

> >From: "Fabio Jose Brandimarte Ariano" <ariano@mirassol.com.br>
> >To: <obm@impa.br>
> >Subject: curiosidade
> >Date: Tue, 8 Aug 2000 15:53:27 -0300
> >X-MSMail-Priority: Normal
> >X-Mailer: Microsoft Outlook Express 4.72.3110.5
> >X-MIMEOLE: Produced By Microsoft MimeOLE V4.72.3110.3
> >
> >   Em primeiro lugar, meus parabéns pelo trabalho e pelo site
> >www.obm.org.br.   Meu nome é José Ricardo Ariano. Sou Engenheiro Civil,
> >formado  pela Escola de Engenharia de Lins, no ano de 1.974. Naquela época,
> >não dispúnhamos de calculadoras científicas do  tipo HP ou similares.
> >Utilizávamos calculadoras comuns com raiz quadrada e nos  foi passado uma
> >dica de como efetuar calculos exponenciais, utilizando as  mesmas. É um
> >cálculo empírico, que dá certo, porém nunca ficamos sabendo quais  as bases
> >matemáticas para que os mesmos funcionassem. Vou passar um exemplo para 
> >vocês, e se alguém puder explicar como e porque, eu ficaria  agradecido.  
> >Exemplo: Calcular o valor de 8 elevado de 1/3 ( o que seria o  mesmo que
> >raiz cubica de 8 e o resultado é 2)   passo 1: Digita-se 8 e extrai-se a
> >raiz quadrada várias vezes  (por exemplo 15 vezes) e teremos o resultado
> >1,00006346.   passo 2: Subtrai-se o número 1 (temos o resultado 
> >0,00006346)   passo 3: Multiplica-se este resultado pelo expoente (1/3) e 
> >teremos 0,000021153   passo 4: soma-se o numero 1 (teremos 1,000021153)    
> > resultado 1,999940565 o que é uma aproximação excelente para  cálculos de
> >engenharia   NB: a aproximação na quarta casa é determinada pela quantidade
> > de zeros após a unidade no passo 1.   Curioso, não é? Funciona para
> >qualquer base e para qualquer  expoente.   Espero ter sido útil    José
> >Ricardo H. Ariano  ariano@mirassol.com.br 
> 

Para x próximo de 0, temos e^x ~= 1 + x.
Assim, para x próximo de 0 temos
(1+x)^a = e^(a log(1+x)) ~= e^(ax) ~= 1 + ax.

Assim, para calcular z^a o seu algoritmo é o seguinte.
Tome 1+x = z^(1/2^n), o que garante que x é pequeno.
Usamos a aproximação acima para obtermos
(z^(1/2^n))^a ~= 1 + ax.
Finalmente elevamos ao quadrado n vezes para obter
z^a = ((z^(1/2^n))^a)^(2^n) ~= (1+ax)^(2^n).

[]s, N.