lunes, 30 de marzo de 2009

matriz multiplicacion, matriz inversa

public Matriz(int nF, int nC){
numfilas= nF;
numcolum= nC;
matriz= new double[numfilas][numcolum];
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 multiplicacion(Matriz B){
if ((this.numfilas == B.numfilas)&(this.numcolum == B.numcolum)){
Matriz r = new Matriz(this.numfilas,this.numcolum);
int j;
for(int i=0; i for(j=0; j r.matriz[i][j]= this.matriz[i][j]*B.matriz[i][j];
return r;
}
else{
Matriz r = new Matriz (1,1);
System.out.println("No se pueden multiplicar las matrices");
return r;
}
}
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.multiplicacion(b);
System.out.println(resultado.imprimir());
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 exelente trabajo pero creo que faltan parentesis pero exelente trabajo

    ResponderEliminar
  2. Gran aporte para nuestras clases.... muy bien expresadas las lineas.,.. gracias

    ResponderEliminar
  3. Gran aporte para nuestras clases.... muy bien expresadas las lineas.,.. gracias

    ResponderEliminar
  4. Se entiende muy bien tu codigo, en este se aprecia la multiplicacion y la inversa de las 2 matrices, podriamos intentar utilizar un for en el codigo para simplificar pasos.

    ResponderEliminar