Foros del Web » Programación para mayores de 30 ;) » Java »

Radicacion

Estas en el tema de Radicacion en el foro de Java en Foros del Web. ...intentando ejecutar una operacion para hallar x numero, di con el caso, " NO SE COMO EXPRESAR UN RADICACION EN JAVA "... ...mas explicitamente, de ...
  #1 (permalink)  
Antiguo 25/09/2008, 00:31
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 15 años, 10 meses
Puntos: 53
Exclamación Radicacion

...intentando ejecutar una operacion para hallar x numero, di con el caso, "NO SE COMO EXPRESAR UN RADICACION EN JAVA"...

...mas explicitamente, de que forma expreso, x=√(a+b)? donde a y b son datos de entrada.

...Gracias.
  #2 (permalink)  
Antiguo 25/09/2008, 02:28
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Radicacion

Para números de precisión arbitraria...

http://www.merriampark.com/bigsqrt.htm

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #3 (permalink)  
Antiguo 25/09/2008, 07:14
 
Fecha de Ingreso: septiembre-2008
Ubicación: Córdoba
Mensajes: 67
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Radicacion

double x=Math.pow((a + b), 0.5); ???

Math.pow(double, double);

Saludos
  #4 (permalink)  
Antiguo 26/09/2008, 07:29
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 15 años, 10 meses
Puntos: 53
Respuesta: Radicacion

...agradecido.
  #5 (permalink)  
Antiguo 26/09/2008, 07:42
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 15 años, 10 meses
Puntos: 53
Exclamación Respuesta: Radicacion

...para el siguiente codigo:

Código:
double a,b,c,x,y;
        
        a=Double.parseDouble(JOptionPane.showInputDialog(null,"A"));
        b=Double.parseDouble(JOptionPane.showInputDialog(null, "B"));
        c=Double.parseDouble(JOptionPane.showInputDialog(null, "C"));
        
        x=(-b)+(Math.pow(((b*b)-4*a*c), 0.5))/2*a;
        y=(-b)-(Math.pow(((b*b)-4*a*c), 0.5))/2*a;
        
        JOptionPane.showMessageDialog(null, "+ "+x+" - "+y);

...tengo un valor impreso NaN.
...algun error?
  #6 (permalink)  
Antiguo 26/09/2008, 12:56
 
Fecha de Ingreso: septiembre-2008
Ubicación: Córdoba
Mensajes: 67
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Radicacion

Not-a-Number (NaN). Por ej. cuando haces cero dividido cero. Un nro distinto de cero dividido cero devuelve infinite (Esto es en tipo de datos doubles)

x=(-b)-(Math.pow(((b*b)-4*a*c), 0.5))/2*a;

No seria

x=((-b)-(Math.pow(((b*b)-4*a*c), 0.5)))/2*a;

?????????

Lo mismo para y, no estoy seguro de que sea ese el problema.
Espero haberte ayudado
  #7 (permalink)  
Antiguo 26/09/2008, 14:53
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Radicacion

Si en los calculos acabas con un numero mayor que Integer.MAX_VALUE (2^31-1) o tienes alguna division que por cercania a 0 se redondea... podría darte algo así.

Por eso existe la solución de precisión arbitraría, ya que usando pow se pierde precisión y no sirve para numeros grandes.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:24.