domingo, 18 de octubre de 2009

Multiplicacion de matrices

Andrés Chiriboga
public class PruebaMatriz {

public static void main(String args[]){

Matriz a = new Matriz(2,2);
a.matriz[0][0] = 1; a.matriz[0][1]=2;
a.matriz[1][0] = 3; a.matriz[1][1]=4;

System.out.println(a.toString());

Matriz b = new Matriz(2,2);
b.matriz[0][0] = 5; b.matriz[0][1]=6;
b.matriz[1][0] = 7; b.matriz[1][1]=8;

System.out.println(b.toString());

Matriz c;
c= a.suma(b);
System.out.println(c.toString());

c= a.transpuesta();
System.out.println("Transpuesta de a\n"+c.toString());


c= a.multiplicacion(b);
System.out.println(c.toString());
}

}

public class Matriz {

public int numeroFilas;
public int numeroColumnas;
public double [][]matriz;
/**
* Constructor sin parametros
*/

public Matriz (){

}

/**
* Constructor con parametros
* @param nF numero de Filas
* @param nC numero de Columnas
*/

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[1][j] = 0;
}
/**
* Metodo de suma matrices
* @param B primer sumando
* @return MAtriz resultado de la suma
*/

public Matriz suma(Matriz B){
Matriz resultado;
if((this.numeroFilas == B.numeroFilas)&(this.numeroColumnas == B.numeroColumnas)){
resultado = new Matriz(this.numeroFilas,this.numeroFilas);
for(int i =0; i for(int j=0; j< this.numeroColumnas; j++)
resultado.matriz[i][j] = this.matriz[i][j] +B.matriz[i][j];
return resultado;
}
else{
System.out.println("Error en dimenciones de la matriz");
resultado = null;
return resultado;
}
}
/**
* Metodo de multiplicacion de matrrices
* @param B primera multioplicacion
* @return MAtriz resulatado de la multiplicacion
*/
public Matriz multiplicacion(Matriz B){
Matriz resultado;
if((this.numeroFilas == B.numeroFilas)&(this.numeroColumnas == B.numeroColumnas)){
resultado = new Matriz(this.numeroFilas,this.numeroFilas);
for(int i =0; i for(int j=0; j< this.numeroColumnas; j++)
resultado.matriz[i][j] = this.matriz[i][j] *B.matriz[i][j];
return resultado;
}
else{
System.out.println("Error en dimenciones de la matriz");
resultado = null;
return resultado;
}
}


/**
* Metodo para transponer matrices
* @return Matriz transpuesta
*/
public Matriz transpuesta(){
Matriz resultado;
resultado = new Matriz (this.numeroColumnas,this.numeroFilas);
for(int i =0; i for(int j=0; j< this.numeroColumnas; j++)
resultado.matriz[j][i] = this.matriz[i][j];
return resultado;

}
/**
* DEvuelve el objeto matriz en texto
* @return
*/

public String toString(){
String aux = "[ ";
for(int i = 0; i< numeroFilas; i++){
for (int j = 0; j< numeroFilas; j++){
aux += matriz [i][j]+" ";

}
aux += "\n";
}
aux += " ]";
return aux;
}
}

1 comentario:

  1. Creo tenia que realizar solo la multiplicacion de matrices no la suma....

    ResponderEliminar