Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: poxet en 27 Abril 2008, 22:34 pm



Título: raíz cúbica de números negativos
Publicado por: poxet en 27 Abril 2008, 22:34 pm
hola,

¿cómo puedo hacer para sacar raíces cúbicas de números negativos?

usando pow(-8,1/3), por ej, me devuelve NAN

pero necesito que me devuelva -2, cómo hago?


Título: Re: raíz cúbica de números negativos
Publicado por: LuffyFF en 27 Abril 2008, 23:15 pm
Tengo entendido que las raices no se pueden calcular si son negativos, sin usar numeros  complejos.
Asi que por eso te da error.

Eso da error hasta en las calculadoras.

(puede que me equivoque, no se mucho de matematicas)

Lo que podrias hacer es hacer la raiz cubica de 8 positivo y luego el resultado pasarlo a negativo.


Título: Re: raíz cúbica de números negativos
Publicado por: Ragnarok en 28 Abril 2008, 00:03 am
Mugiwara eso son las raices cuadradas.

Mira a ver si funciona esto:
Código
  1. function myPow(n, m){
  2.  return m%2? pow(abs(n), m)*n/abs(n) :pow(n,m);
  3. }


Título: Re: raíz cúbica de números negativos
Publicado por: poxet en 28 Abril 2008, 04:01 am
Mugiwara eso son las raices cuadradas.

Mira a ver si funciona esto:
Código
  1. function myPow(n, m){
  2.  return m%2? pow(abs(n), m)*n/abs(n) :pow(n,m);
  3. }

la probé así pero primero no me la agarraba porque no tiene los $, y después incluso con los $ resultaba ser lo mismo,

pero basándome en eso se me ocurrió este:
function raiz($a,$b){
   if($a<0 && ($b%2)==1) return -pow(abs($a),(1/$b));
   elseif($a<0) return "NAN";
   else return(pow($a,1/$b));
}