public class Matriz {
int numeroFilas;
int numeroColumnas;
double [][] matriz;
public Matriz(){}
public Matriz(int nF, int nC){
numeroFilas=nF;
numeroColumnas=nC;
matriz= new double[numeroFilas][numeroColumnas];
for(int i=0; i<>
for(int j=0; j<>
matriz[i][j]=0;
}
public String imprimir(){
String aux = "";
for(int i=0; i
for(int j=0; j
aux= aux + matriz[i][j] + " ";
}
aux = aux + "\n";
}
return aux;
}
public Matriz inversa(){
Matriz result=new Matriz(this.numeroFilas,this.numeroColumnas);
double tmp;
Matriz I=new Matriz(this.numeroFilas,this.numeroColumnas*2);
for(int i=0;i
for(int j=0;j
I.matriz[i][j]=0.0;
for(int i=0;i
for(int j=0;j
I.matriz[i][j]=this.matriz[i][j];
if (i==j)
I.matriz[i][j+this.numeroFilas]=1.0;
}
}
for(int i=0;i
tmp=I.matriz[i][i];
for(int j=0;j<(this.numeroColumnas*2);j++)
I.matriz[i][j]/=tmp;
for(int k=0;k
if(k!=i){
tmp=I.matriz[k][i];
for(int j=0;j<(this.numeroColumnas*2);j++)
I.matriz[k][j]-=tmp*I.matriz[i][j];
}
}
}
for(int i=0;i
for(int j=0;j
result.matriz[i][j]=I.matriz[i][j+this.numeroColumnas];
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());
System.out.println("La inversa de m es:\n");
System.out.println(m.inversa().imprimir());
}
}
muy bien.. el deber esta muy completo...
ResponderEliminar