************CLASE MATRIZ*************
* @author JAVIER ILVAY
*/
public class Matriz1 {
public int numeroFilas;
public int numeroColumnas;
public double [][] matriz;
public Matriz1(){
}
/**
* Constructor con parametros
* @param nF numero de filas
* @param nC numero de columnas
*/
public Matriz1(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 para transpuesta matriz
* @return
*/
public Matriz1 transpuesta(){
Matriz1 resultado;
resultado= new Matriz1(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;
}
public Matriz1 multiplicacion(Matriz1 b){
Matriz1 resultado;
if(this.numeroColumnas == b.numeroFilas){
resultado=new Matriz1(this.numeroFilas,b.numeroColumnas);
for(int i=0; i < this.numeroFilas; i++){
for(int j=0; j < b.numeroColumnas; j++){
for(int k=0; k < this.numeroColumnas; k++)
resultado.matriz[i][j] += (this.matriz[i][k]*b.matriz[k][j]);
}
}
return resultado;
}
else
System.out.println("ERROR EN DIMENSIONES DE LAS MATRICES");
resultado=null;
return resultado;
}
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;
}
}
*********************CLASE PRUEBA*******************************
* @author JAVIER ILVAY
*/
public class Prueba {
public static void main(String args[]){
Matriz1 C = new Matriz1 (2,3);
C.matriz[0][0]=2;
C.matriz[0][1]=2;
C.matriz[0][2]=1;
C.matriz[1][0]=3;
C.matriz[1][1]=-1;
C.matriz[1][2]=0;
System.out.println(C.toString());
Matriz1 B = new Matriz1 (5,3);
B.matriz[0][0]=6;
B.matriz[0][1]=-2;
B.matriz[0][2]=5;
B.matriz[1][0]=4;
B.matriz[1][1]=2;
B.matriz[1][2]=-1;
B.matriz[2][0]=0;
B.matriz[2][1]=1;
B.matriz[2][2]=1;
B.matriz[3][0]=-2;
B.matriz[3][1]=-2;
B.matriz[3][2]=0;
B.matriz[4][0]=1;
B.matriz[4][1]=0;
B.matriz[4][2]=-1;
System.out.println(B.toString());
Matriz1 E= new Matriz1 (3,3);
E.matriz[0][0]=-1;
E.matriz[0][1]=0;
E.matriz[0][2]=-1;
E.matriz[1][0]=1;
E.matriz[1][1]=0;
E.matriz[1][2]=1;
E.matriz[2][0]=-1;
E.matriz[2][1]=1;
E.matriz[2][2]=-1;
System.out.println(E.toString());
Matriz1 A= new Matriz1 (1,5);
A.matriz[0][0]=1;
A.matriz[0][1]=-1;
A.matriz[0][2]=0;
A.matriz[0][3]=1;
A.matriz[0][4]=1;
System.out.println(A.toString());
Matriz1 r;
r=B.transpuesta();
Matriz1 R;
R=C.multiplicacion(E);
Matriz1 R1;
R1=R.multiplicacion(r);
System.out.println("la multiplicacion C*E*B^t\n"+R1.toString());
R1=(A.multiplicacion(B)).multiplicacion(E);
System.out.println("la multiplicacion CEB^t\n"+R1.toString());
R1=(E.multiplicacion(r)).multiplicacion(A.transpuesta());
System.out.println("la multiplicacion CEB^t\n"+R1.toString());
}
}
*********************RESPUESTAS**************************************
la multiplicacion C*E*B^T
[-13.0 -1.0 0.0 0.0 0.0
-44.0 -12.0 -4.0 8.0 0.0 ]
la multiplicacion ABE
[-12.0 5.0 -12.0 ]
la multiplicacion E*B^T*A^T
[-6.0
6.0
-12.0 ]
miércoles, 28 de octubre de 2009
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario