Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Problema con Mathf.?

Iniciado por KevinLastra, Agosto 19, 2017, 05:39:40 PM

Tema anterior - Siguiente tema
Agosto 19, 2017, 05:39:40 PM Ultima modificación: Agosto 20, 2017, 08:14:11 AM por pioj
Muy Buenas, estoy trabajando un poco con el sonido y sus fisicas con esta operacion
 

r = 1;
Pdbm = 43;
PmW = 10^(Pdbm/10) / 1000  //transforma dbm a watts
I = PmW / 4*(PI) * r^2 // calcula la intensidad a la distancia deseada
Pdbm = 10Log( i / 10^-12) //transforma de Watts a dbm

 
Con esto lo paso a Unity
 

float CalcI(int Pdbm, float d){
float PmW = Mathf.Pow(10,( Pdbm / 10)) / 1000;
float I = PmW / 4 * Mathf.PI * Mathf.Pow(d, 2);
float Pdbm_ = Mathf.Log(10*(PmW/Mathf.Pow(10,-12)));
}


Pdbm = 43
d = 1

 
el resultado deberia ser 122.#######
 
pero no me sale el resultado que deberia salir y no se porque, creo que es por lo que es la primera ves que uso Mthf entonses talves no estoy usando los correctos.
 
 
 
Grasias por su atencion

Hola, me parece que esto lo tenes mal, metes el 10 dentro del logaritmo:
 

float Pdbm_ = Mathf.Log(10*(PmW/Mathf.Pow(10,-12)));

 
 
 

10 log(x) -- distinto a ---    log(10*X) ---> log(10) + log (x)    

 
 

Etiquetas: