Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - AlexisFloresO

Páginas: [1]
1
Código: [Seleccionar]
public class Biseccion {
double a,b,tol,p;
double Matriz[][];
    int k,j,ni;
    public Biseccion(double a1, double b1, double tol1,int ni1){
         a=a1;
         b=b1;
         tol=tol1;
         ni=ni1;
         this.Matriz=new double[ni][5];
    }
    private double redondea(double n){
    return Math.rint(n*1000000)/1000000;
    }
    private double f(double x,int opc){
    double r;
    switch(opc){
    case 1:
    r=Math.pow(x,3)+4*Math.pow(x,2)-10;
    return r;
    case 2:
    r=Math.pow(x,3)-x-1;
    return r;
    case 3:
    r=Math.pow(x,3)-7*Math.pow(x,2)+14*x-6;
    return r;
    default:
    break;
    }
    return 0;
    }
    public double calcularRaiz(){
    int i=1;
    double p,q;
        q=((b-a)/2);
        p=(a+q);
        while(i<=ni){
        if(f(p,3)==0||q<tol){
        System.out.println("Proceso completado satisfactoriamente");
        break;
        }
        else{
        if(f(a,3)*f(p,3)>0)
        a=p;
        else
        b=p;
        q=redondea((b-a)/2);
        p=redondea(a+q);
        }
        i++;
        }
 
       return p;
    }
}
//CLASE CON MÉTODO MAIN
public class PruebaBiseccion {

public static void main(String[] args) {
Biseccion b=new Biseccion(0,1,0.01,20);
double raiz=b.calcularRaiz();
System.out.println("La raíz es: "+raiz);

}

}

Gracias por responder; si se ejecuta el código tal y como está, hallaremos la raíz de la función: x^3-7x^2+14x-6=0. Dicha raíz es: 0.5859375.
La matríz que quisiera implementar es una que almacene cada resultado tal como

Matriz:

0.0   0.0   1.0   0.5   -0.625   
1.0   0.5   1.0   0.75   0.984375   
2.0   0.5   0.75   0.625   0.259765625   
3.0   0.5   0.625   0.5625   -0.161865234375   
4.0   0.5625   0.625   0.59375   0.054046630859375   
5.0   0.5625   0.59375   0.578125   -0.052623748779296875   
6.0   0.578125   0.59375   0.585937   0.0010279853502517255

Cabe mencionar que todos los resultados que están en la tabla los calculé en algún momento para poder llegar al resultado final, y lo que necesito es ir guardando cada uno de esos resultados.

Ojalá me pueda ayudar.
De antemano, gracias.

2
Hola, compañeros. Espero me puedan ayudar. Tengo el siguiente código que calcula la raíz de una ecuación no lineal mediante el método de bisección, el problema que tengo es que no sé como representar los datos calculados de cada iteración en una matriz. Lo intenté creando un método que llenará la matriz cada vez que se llamaba desde el método bisección, pero se perdían los resultados y solo me guardaba los datos de la última iteración.

Por favor, ojalá puedan ayudarme.

Código: [Seleccionar]
public double calcularRaiz(){
    double Matriz[][]=new double[ni][5];
    int i=1;
    double p,q;
        q=((b-a)/2);
        p=(a+q);
        while(i<=ni){
        if(f(p,3)==0||q<tol){
        System.out.println("Proceso completado satisfactoriamente");
        break;
        }
        else{
        if(f(a,3)*f(p,3)>0)
        a=p;
        else
        b=p;
        q=redondea((b-a)/2);
        p=redondea(a+q);
        }
        i++;
        }
       return p;
}


i=1;a=0;b=1;p=a+(b-a)/2; [Son los valores iniciales de las variables que se modificarán en cada iteración]

La matriz que quiero obtener es:
| i | a | b | p |
|1 |0 | 1 |0.5|
|i2|a2|b2|p2|
|i3|a3|b3|p3|

Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".