Potenciação e Logaritmo
potencia = Logbase(numero)
numero = basepotencia
Considere:
Log(x, y) o mesmo que Logy(x): Log de x na base y.
Qual o valor da potencia que quando eleva a base y dá um número x?
Pow(x, y) o mesmo que xy: x elevado a y.
Qual o valor do número que é dado pela base x elevada à uma potencia y?
potencia | = Logbase(numero) | = Log(numero, base) |
numero | = basepotencia | = Pow(base, potencia) |
Equivalentes em javaScrit:
function Log(numero, potencia)
{
return Math.log(numero)/Math.log(potencia)
}
function Pow(base, potencia)
{
return Math.pow(base, potencia)
}
Se eu quiser a base, ou seja a raiz, basta elevar o número dado a 1/potencia:
base = numero1/potencia
É o mesmo que fazer Pow(numero, 1/potencia)
Elevando a numero natural ou fracionario
* se elevamos um número com um fracionário na potencia obtemos a base (Obtem-se a base se potencia na forma 1/n, ou obtem-se parte dela se potencia na forma k/n tal que 1<k)
* se elevamos uma base com um número natural, obtemos o número (E apenas o número, pois não sendo natural, recebe parte da base).
Elevando a numero inteiro ou negativo
* se elevamos uma base a um positivo obtemos um número. Mas...
* se elevamos uma base com um negativo equivale a fazer 1/numero
Propriedades dos Logs
Para qualquer x, y e z:
Log(x, Log(y, x) ) | = Log(Pow(x,y), x) | = y | | |
Log(x * y, z) | = Log(x, z)+Log(y, z) | | | |
Log(x / y, z) | = Log(x, z) - Log(y, z) | | | |
Log(xz, y) | = Log(Pow(x,z), y) | = z*Log(x, y) | | |
Log(x, yz) | = Log(x1/z, y) | = Log(x, y)/z | | |
Log(x, y) | = 1/Log(y, x) | = -Log(1/x, y) | = -Log(x, 1/y) | = Log(1/x, 1/y) |
Log(x, z/y) | = -Log(x, y/z) | | |
[ Log(b, a)+1 ] / Log(b, a) | = Log(a, b)+1 |
1/ Log(b, a) | = Log(a, b) |
Mudança de base:
Log(b, a) = Log(b, e)/Log(a, e)
Propriedades das Potenciações
Para qualquer x, y e z:
Pow(x, Log(y, x)) | = y | | |
Pow(x*z, y) | = Pow(x, y)*Pow(z, y) | | |
Pow(x, y)*Pow(x, z) | = Pow(x, y+z) | | |
Pow(x, y)/Pow(x, z) | = Pow(x, y-z) | | |
Pow(x/y, z) | = Pow(x,z) / Pow(x,z) | | |
Pow(Pow(x, y), z) | = Pow(x, y*z) | | |
Pow(Pow(x, y), 1/z) | = Pow(x, y/z) | | |
Pow(Pow(x, y), 1/y) | = x | | |
Pow(x, y) | = Pow(1/x, -y) | = 1/Pow(1/x, y) | = 1/Pow(x, -y) |
Para e, π e phi temos:
e = 2.718281828459045
π = 3.141592653589793
numero de ouro phi = 1.618033988749895
Sistema para encontrar h, b e k tal que πb = bπ = h e π = b*k = bk
Para valores maiores que e (número de Euler):
grafico abaixo, função verde:
function FindB(num, precisao)
{
if(precisao==null)precisao=1000;
//var b=num/1000000000000
b=1;
for(var x=0; x<precisao; x++)
{
h = Pow(b,num) ;
dh = (h - Pow(num, b)) /2 ;
b = Pow(h - dh, 1/num) ;
}
return b;
}
Vejam esse no gáfico quando puderem, que interessante:
function FindB(num, precisao)
{
if(precisao==null)precisao=1000;
//var b=num/1000000000000
b=1;
for(var x=0; x<precisao; x++)
{
h = Pow(xx,num) ;
dh= Math.abs(h - Pow(num, xx)) /2 ;
xx = Pow(Math.abs(h - dh), 1/num) ;
}
return b;
}
Então, Para num = 3.141592653589793 temos a função FindB(pi) tal que:
b para num=3.141592653589793: FindB(3.141592653589793) = 2.3821790879930154
Teste:
se b = 2.3821790879930154
então k = num/b = 1.3187894518193355
&& num = b*k = 3.141592653589793
&& num = Pow(b,k) = 3.1415926535897927
&& h = Pow(num,b) = 15.286217347834953
&& h = Pow(b,num) = 15.286217347834949
A função verde mostra o resultado de findB(num, precisao). Uma função que deve ser algo Log(m,n)