[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Potencia de número decimal
From: |
Tiago Barcellos Peczenyj |
Subject: |
Re: [shell-script] Potencia de número decimal |
Date: |
Mon, 19 Nov 2007 18:45:23 -0200 |
Cristiano,
a calculadora bc possui uma opção -l que incorpora uma biblioteca de funções
matematicas
entre elas estão as funções e(x) e l(x) que são, respectivamente,
exponencial de x e logaritmo natural de x
é facil chegar a uma expressão simples para X ^ ( 1 /Y)
--- a partir de agora é matemática, mas mostra a versatilidade do aplicativo
bc ---
Z = X ^ ( 1 / Y ) # Z é um valor qualquer
se
exp(log(Z)) = Z # no bc seria e(l(Z))
então
exp(log(X^(1/Y))) -> exp((1/Y)* log(X)) -> exp((log(X))/Y)
para fazer 10^(1/5) seria o mesmo que:
bc -l <<< "scale = 5 ; x = 10 ; y = 5 ; e((l(x))/y)"
1.58488
[]´s T
On 11/19/07, Cristiano Ferrari <address@hidden> wrote:
>
> Salve galera.
>
> Preciso obter o resultado de um número elevado à potência decimal em
> um script. Na realidade é um número elevado à ao inverso do outro.
> Algo tipo
>
> $X ^ ( 1 / $Y)
>
> Via $(()) não dá pois ele trunca apenas a parte inteira do resultado.
>
> Tentei algo como
>
> Z=`echo "scale = 5 ; $X ^ ( 1 / $Y ) " | bc`
>
> Mas também não deu, pois o bc não suporta potência com expoente
> fracionário.
>
> Alguém tem alguma sugestão?
>
> Abraço
>
> Cristiano
>
>
>
--
Tiago B Peczenyj
Linux User #405772
http://peczenyj.blogspot.com/
"what does not kill us makes us stronger"
[As partes desta mensagem que não continham texto foram removidas]