1
C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más / Re:Matrices en Java
« en: 30 de Septiembre 2015, 02:49 »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.