int numfilas;
int numcolum;
double [][] matriz;
public Matriz (){}
public Matriz(int nF, int nC){
numfilas= nF;
numcolum= nC;
matriz= new double[numfilas][numcolum];
for(int i=0; i
}
public String imprimir(){
String aux = "";
for(int i=0; i
}
aux= aux +"\n";
}
return aux;
}
public Matriz multiplicacion(Matriz B){
Matriz r = new Matriz(this.numfilas,B.numcolum);
int j;
int k;
for(int i=0; i
return r;
}
public Matriz inversa(){
Matriz result=new Matriz(this.numfilas,this.numcolum);
double tmp;
Matriz I=new Matriz(this.numfilas,this.numcolum*2);
for(int i=0;i
for(int i=0;i
if (i==j)
I.matriz[i][j+this.numfilas]=1.0;
}
}
for(int i=0;i
for(int j=0;j<(this.numcolum*2);j++)
I.matriz[i][j]/=tmp;
for(int k=0;k
tmp=I.matriz[k][i];
for(int j=0;j<(this.numcolum*2);j++)
I.matriz[k][j]-=tmp*I.matriz[i][j];
}
}
}
for(int i=0;i
return result;
}
public static void main(String args []){
Matriz m=new Matriz(2,2);
m.matriz[0][0]=1;
m.matriz[0][1]=-1;
m.matriz[1][0]=2;
m.matriz[1][1]=1;
System.out.println(m.imprimir());
Matriz b=new Matriz(2,2);
b.matriz[0][0]=3;
b.matriz[1][0]=-4;
System.out.println(b.imprimir());
Matriz resultado;
resultado=m.inversa();
System.out.println(resultado.imprimir());
resultado=m.multiplicacion(b);
System.out.println(resultado.imprimir());
resultado=m.inversa().multiplicacion(b);
System.out.println(resultado.imprimir());
}
}
que bien codigo... es por el metodo de gauss.. esta muy bien
ResponderEliminarmuy buen ejemplo... aunq me parece q deberias comentar lo q hae cada clase..
ResponderEliminar