domingo, 29 de marzo de 2009

matriz inversa

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 < numeroFilas; i++)
for(int j = 0; j < numeroColumnas; j++)
matriz[i][j] = 0; }

public String imprimir(){
String aux ="";
for(int i = 0; i < numeroFilas; i++){
for(int j = 0; j < numeroColumnas; j++){
aux = aux + matriz[i][j] +" "; }
aux = aux + "\n"; }
return aux; }

public Matriz inversa(){
Matriz r=new Matriz(this.numeroColumnas,this.numeroFilas);
r.matriz[0][0]=((this.matriz[1][1]*this.matriz[2][2])-(this.matriz[2][1]*this.matriz[1][2]));
r.matriz[0][1]=((this.matriz[1][0]*this.matriz[2][2])-(this.matriz[2][0]*this.matriz[1][2]));
r.matriz[0][2]=((this.matriz[1][0]*this.matriz[2][1])-(this.matriz[2][0]*this.matriz[1][1]));
r.matriz[1][0]=((this.matriz[0][1]*this.matriz[2][2])-(this.matriz[2][1]*this.matriz[0][2]));
r.matriz[1][1]=((this.matriz[1][0]*this.matriz[2][2])-(this.matriz[2][0]*this.matriz[1][2]));
r.matriz[1][2]=((this.matriz[0][0]*this.matriz[2][1])-(this.matriz[2][0]*this.matriz[0][1]));
r.matriz[2][0]=((this.matriz[0][1]*this.matriz[1][2])-(this.matriz[1][1]*this.matriz[0][2]));
r.matriz[2][1]=((this.matriz[0][0]*this.matriz[1][2])-(this.matriz[1][0]*this.matriz[0][2]));
r.matriz[2][2]=((this.matriz[0][0]*this.matriz[1][1])-(this.matriz[1][0]*this.matriz[0][1]));
return r; }

public static void main(String args[]){
Matriz m = new Matriz(3, 3);
m.matriz[0][0]=1;
m.matriz[1][1]=1;
m.matriz[2][2]=1;
System.out.println("la matriz m es:");
System.out.println(m.imprimir());
Matriz b=new Matriz(3,3);
b.matriz[0][0]=1;b.matriz[0][1]=2;b.matriz[0][2]=3;
b.matriz[1][1]=4;b.matriz[1][2]=5;
b.matriz[2][2]=6;
System.out.println("la matriz b es:");
System.out.println(b.imprimir());

Matriz resultado;

resultado=m.inversa();
System.out.println("la matriz inversa de m es:");
System.out.println(resultado.imprimir());
resultado=b.inversa();
System.out.println("la matriz inversa de b es:");
System.out.println(resultado.imprimir());
}
}

4 comentarios:

  1. es un excelente ejemplo esta muy bien estructurado.
    solo seria de revisar que funcione en neatBens

    ResponderEliminar
  2. muy buen trabajo sobre todo en como saca la inversa felicitaciones

    ResponderEliminar
  3. me parece muy interesante como estructuras el program, lo mejor seria que el progrma vaya asignando valores conforme se ejecuta una vifurcación com por ejemplo la vifurcacion for.

    ResponderEliminar
  4. MUY BUENO EL APORT BRO... ESTA MUY CHIDO L PROGRAMA... EL CODIGO UN TANTO LARGITO PERO YA M DI CUENTA K VA TAR DIF ACHICARLO... BUEN TRABAJO

    ResponderEliminar