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