Package metodos

Source Code of metodos.FalsaPosicion

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package metodos;

import consola.Consola;
import funcion.*;

/**
*
* @author Gerson
*/
public class FalsaPosicion extends Base {

    public double evaluar(Funcion funcion, double xa, double xb, double e) {
        return this.evaluar(funcion, xa, xb, e, 100);
    }

    public double evaluar(Funcion funcion, double xa, double xb, double e, int n) {

        System.out.println("Xa: "+xa);
        System.out.println("Xb: "+xb);
        System.out.println(" e: "+e);
        System.out.println(" n: "+n);
        System.out.println();

        this.funcion = funcion;
        double fb = funcion.evaluar(xb);
        double xi = 0;
        double fi = 0;
        int i = 0;
        n = n > 0 ? n - 1 : n;

        System.out.println(
                this.redondear("N", 5, true)
                + this.redondear("Xa")
                + this.redondear("Xb")
                + this.redondear("X inter.")
                + this.redondear("f(X inter)"));

        do {
            i++;
            xi = this.getInterpolacion(xa, xb);
            fi = funcion.evaluar(xi);

            System.out.println(
                    this.redondearString(i + "", 5, true)
                    + this.redondear(xa)
                    + this.redondear(xb)
                    + this.redondear(xi)
                    + this.redondear(fi));

            if ((fb * fi) > 0) {
                xb = xi;
            } else {
                xa = xi;
            }


        } while (i <= n && Math.abs(fi) > e);



        System.out.println("");

        System.out.println("Solucion Encontrada:" + this.redondear(xi));
        System.out.println("Valor de Comprobacion:" + this.redondear(funcion.evaluar(xi)));

        return xi;


    }

    public void consola() {

        Consola consola = new Consola();
        String funcion_cadena = consola.getCadena("Ingresa la Funcion");
        double Xa = consola.getNumero("Ingresa el Valor para Xa");
        double Xb = consola.getNumero("Ingresa el Valor para Xb");
        double error = consola.getNumero("Ingresa la Tolerancia");
        int limite = consola.getEntero("Ingresa el maximo de Iteraciones", 100);
        boolean fraccion = consola.getBoolean("Quieres usar Fraccciones?");
        int decimales = consola.getEntero("cuantos decimales queres usar para el reporte?", 6);
        int espaciado = consola.getEntero("cuanto espacio necesitas para el reporte", 12);

        this.fraccion = fraccion;
        this.decimales = decimales;
        this.espaciado = espaciado < this.espaciado ? this.espaciado : espaciado;

        consola.limpiarPantalla();
        Funcion funcion = new Funcion(funcion_cadena);
        this.evaluar(funcion, Xa, Xb, error, limite);
    }
}
TOP

Related Classes of metodos.FalsaPosicion

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.