miércoles, 28 de octubre de 2009

PRUEBA

************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 ]

No hay comentarios:

Publicar un comentario