sábado, 10 de noviembre de 2012

 Metodo de biseccion en java :)

public class Biseccion {
 
 /**
     *@autor: Andrea Ibañez Irusta
     * @param args
     */
          private double funcion(double x){
              // return Math.sqrt( x*x +1 ) -4;
               return (Math.exp(x)+Math.cos(Math.pow(x, 2)));
            
           }
          
           public double metodoDeBiseccion(double a, double b, double error){
               double c = 0.0;
               double fa;
               double fb;
               double fc;
               if((funcion(a) * funcion(b)) > 0){
                   System.out.println("Error en el intervalo, en ese intervalo no existen raices");
               }else{
                    c = (a + b) /(double) 2;
                   do{
                     
                       fa = funcion(a);
                       fb = funcion(b);
                       fc = funcion(c);
                       if((fa * fc) > 0){
                           a = c;
                           fa = funcion(a);
                           fb = funcion(b);
                            c = (a + b) /(double) 2;
                           fc = funcion(c);
                       }else if((fb * fc) > 0 ){
                           b = c;
                           fa = funcion(a);
                           fb = funcion(b);
                            c = (a + b) /(double) 2;
                           fc = funcion(c);

                       }


                   }while(Math.abs(fc) >= error);
               }
               System.out.println("valor de la funcion: "+funcion(c));
               System.out.println("raiz= "+c);
               return  c;


           }


        }

No hay comentarios:

Publicar un comentario