miércoles, 28 de octubre de 2009

Prueba de Programación

//José Romero

//Programa


public class Matriz {
public int numeroFilas;
public int numeroColumnas;
public double [][] matriz;

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;

}





public Matriz Multiplicacion(Matriz m){
Matriz resultado;

if(this.numeroColumnas == m.numeroFilas){
resultado=new Matriz(this.numeroFilas,m.numeroColumnas);
for(int i=0; i for(int j=0; j for(int k=0; k resultado.matriz[i][j] += (this.matriz[i][k]*m.matriz[k][j]);
}
}
return resultado;
}
else
System.out.println("Hay un error en las dimensiones de las matrices");
resultado=null;
return resultado;
}

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;

}


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 C=new Matriz(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;

Matriz B = new Matriz(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;

Matriz A = new Matriz(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;

Matriz E = new Matriz(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;



Matriz R;
R=C.Multiplicacion(E);

Matriz R1;
R1=B.Transpuesta();

Matriz R2;
R2=R.Multiplicacion(R1);
System.out.println("El resultado dela multiplicacion CEB^t\n"+R2.toString());


Matriz X;
X=A.Multiplicacion(B);

Matriz X1;
X1=X.Multiplicacion(E);
System.out.println("El resultado de la multiplicacion ABE\n"+X1.toString());

Matriz Y;
Y=B.Transpuesta();

Matriz Y1;
Y1=A.Transpuesta();

Matriz Y2;
Y2=Y.Multiplicacion(Y1);

Matriz Y3;
Y3=E.Multiplicacion(Y2);

System.out.println("El resultado de la multiplicacion EB^^tA^t\n"+Y3.toString());


}

}





//Corrida del programa

run:
El resultado dela multiplicacion CEB^t
-13.0 -1.0 0.0 0.0 0.0
-44.0 -12.0 -4.0 8.0 0.0

El resultado de la multiplicacion ABE
-12.0 5.0 -12.0

El resultado de la multiplicacion EB^^tA^t
-6.0
6.0
-12.0

BUILD SUCCESSFUL (total time: 3 seconds)

No hay comentarios: