You are on page 1of 4

Pseudocodigo en java para calcular el metodo de la biseccion

Con el codigo ingresado a continuacion obtendremos los rangos en los cuales se dan los cambios en determinada funcion para realizar el calculo del metodo de Biseccion.

class pruebaBisecc{ public static void impResult(double a,double b, Biseccion bisecc , Evaluar e){ bisecc.asignarDatos(a,b); System.out.println("\n\tEvaluacion de intervalo : [ " + a + " , " + b + " ]\n"); System.out.println("\tf(" + a + ") : " + e.f(a)); System.out.println("\tf(" + b + ") : " + e.f(b)); } public static void main(String arg[]){ Biseccion b = new Biseccion(); double coef[] = { 20.0 , -6.0 , -15.0 , 0 }; EvalPolinomio ep = new EvalPolinomio(coef); impResult( 18.8, -3.9 , b , ep); impResult(-14.3 , 1.0 , b , ep); System.out.println(); }} class Polinomio{ private double arr[]; public Polinomio(int grado){ arr = new double[grado + 1]; } public Polinomio(double coef[]){

this(coef.length - 1); for(int i = 0; i < coef.length; i++) arr[i] = coef[i]; } public void asignarCoeficientes(double coef[]){ for(int i = 0; i < coef.length; i++) arr[i] = coef[i]; } public double []obtenerCoeficientes(){ return arr; } public double obtenerCoef(int posicion) { return arr[posicion]; } public void asignarCoef(int posicion, double valor){ arr[posicion] = valor; } public double evaluar(double t){ double s = 0.0; for(int i = 0; i < arr.length; i++) s += arr[i] * Math.pow(t,i); return s; } public int obtenerGrado(){ return arr.length - 1;

} public static Polinomio integrar(Polinomio c, double cte){ Polinomio tmp = new Polinomio(c.obtenerGrado() + 1); tmp.asignarCoef(0,cte); for(int i = 1; i < tmp.obtenerGrado() ; i++) tmp.asignarCoef(i , c.obtenerCoef(i-1) / i ); return tmp; } public static Polinomio derivar(Polinomio c){ Polinomio tmp = new Polinomio(c.obtenerGrado() - 1); for(int i = 0; i < tmp.obtenerGrado() ; i++) tmp.asignarCoef(i , c.obtenerCoef(i+1) * (i+1) ); return tmp; } public String toString(String var){ String s = Double.toString(arr[0]); for(int i = 1; i < obtenerGrado( ); i++) if (arr[i] != 0.0){ if (arr[i] < 0.0 ) s += " - "; else s += " + "; s += Double.toString( Math.abs(arr[i])); s += var; if (i > 1){ s += "^"; s += Integer.toString(i); }}

return s; }} interface Evaluar{ double f(double x); } class EvalPolinomio extends Polinomio implements Evaluar{ public EvalPolinomio(double coef[]){ super(coef); } public double f(double x) { return evaluar(x); } } class Biseccion { public static double EPSILON = 0.000005; public final static int MAX_ITER = 200; private double a,b; public void asignarDatos(double a,double b) { this.a = a; this.b = b; }}

You might also like