//José Romero
//Ing. Mecatrónica
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[i][j]= 0;
}
/**
* Metodo de suma de matrices
* @param B primer sumando
* @return Matriz resultado de suma
*/
public Matriz suma(Matriz B){
Matriz resultado;
//this hace referncia a un objeto a construir a futuro
if((this.numeroFilas ==B.numeroFilas)&(this.numeroColumnas ==B.numeroColumnas)){
resultado = new Matriz(this.numeroFilas, this.numeroColumnas);
for(int i = 0; i < this.numeroFilas; 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 dimensiones de la matriz");
resultado = null;
return resultado;
}
}
public Matriz multiplicacion(Matriz B){
Matriz resultado;
if(this.numeroColumnas==B.numeroFilas){
resultado = new Matriz (this.numeroFilas,B.numeroColumnas);
for (int i = 0; i< numeroFilas; i++)
for (int j = 0; j< numeroColumnas; j++)
resultado.matriz[i][j] = this.matriz[i][j]*B.matriz[j][i];
return resultado;
}
else{
System.out.println("ERROR EN DIMENSIONES DE LAS MATRICES, el numero de columnas de" +
"la matriz A debe ser igual al numero de filas de la matriz B");
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 < this.numeroFilas; 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 < numeroColumnas; j++){
aux += matriz[i][j]+ " ";
}
aux +="\n";
}
aux += " ]";
return aux;
}
}
//**********************************************
public class PruebaMatriz {
public static void main(String args[]){
Matriz a = new Matriz(3,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,3);
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());
Matriz d ;
d = a.multiplicacion(b);
System.out.println("Multiplicacion de A*B\n"+d.toString());
/* Matriz c;
c = a.resta(b);
System.out.println(c.toString());*/
c= a.transpuesta();
System.out.println("Trasnpuesta de a\n"+c.toString());
}
}
3 comentarios:
resultado.matriz[i][j] = this.matriz[i][j]*B.matriz[j][i];
ahi es mas igual jeje porque sino no sale la suma!!!
Si tienes toda la razón gracias se me olvido poner.
Tendras cuidado con eso ...
sino nunca te va a salir
Publicar un comentario