Package metodos

Source Code of metodos.PuntoFijo

/*
* 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 PuntoFijo extends Base {

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

    public double evaluar(Funcion funcion, Funcion mejorado, double x0, double e, int n) {

        System.out.println("X0: " + x0);
        System.out.println(" e: " + e);
        System.out.println(" n: " + n);
        System.out.println();

        this.funcion = funcion;
        double xm = 0;
        double q = 0;
        int i = 0;


        System.out.println(
                this.redondear("N", 5, true)
                + this.redondear("X0")
                + this.redondear("X Mejorado"));

        do {
            i++;
            xm = mejorado.evaluar(x0);

            System.out.println(
                    this.redondear(i + "", 5, true)
                    + this.redondear(x0)
                    + this.redondear(xm));

            q = Math.abs(xm - x0);
            x0 = xm;



        } while (i < n && q > e);


        if (q > e) {
            System.out.println("No hay Convergencia");
            return 0;
        } else {

            System.out.println("");

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

            return xm;
        }




    }

    public void consola() {

        Consola consola = new Consola();
        String funcion_cadena = consola.getCadena("Ingresa la Funcion");
        String funcion_mejorado = consola.getCadena("Ingresa la Funcion Mejorada");
        double X0 = consola.getNumero("Ingresa el Valor para X0");
        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);
        Funcion mejorado = new Funcion(funcion_mejorado);


        this.evaluar(funcion, mejorado, X0, error, limite);
    }
}
TOP

Related Classes of metodos.PuntoFijo

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.