Código
Logo após a função, estou colocando a demonstração matemática da mesma.
function Potencia(Base, Expoente : Extended) : Extended;
begin
Potencia := Exp(Expoente * Ln(Base));
end;
Muito simples, não é mesmo. Aí vai então a demonstração:
1. Vamos supor que A = B^X (lê-se: B elevado a X)
2. Se aplicarmos LN (logaritmo neperiano) em ambos os lados da
equação, ela não se altera. Temos agora então:
LN(A) = LN(B^X)
3. Por propriedade dos logaritmos, podemos dizer que:
LN(A) = X * LN(B)
3. Se elevarmos os dois lados da equação ao neperiano E, também
não haverá mudança na equação. Temos então:
E^(LN(A)) = E^(X * LN(B))
4. Matematicamente, E^(LN(A)) é igual ao próprio A. Do outro lado
da equação não podemos fazer mais nada. Então chegamos a
conclusão que:
A = E^(X * LN(B))
No delphi, temos que E é a função Exp(), e LN é a função Ln()
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009