miércoles, 28 de octubre de 2009

Prueba..

Diego Gonzalez
/**
*
* @author Diego Gonzalez
*/
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;
}}
Prueba de la matriz
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();
System.out.println("Transpuesta de a es= \n"+r.toString());

Matriz1 z;
z=c.multiplicacion(e);
System.out.println("la multiplicacion es a\n"+z.toString());

Matriz1 r1;
r1=z.multiplicacion(r);
System.out.println("la multiplicacion CEB^t\n"+r1.toString());

Matriz1 q;
q=a.multiplicacion(b);
System.out.println("la multiplicacion AB\n"+q.toString());

Matriz1 r2;
r2=q.multiplicacion(e);
System.out.println("la multiplicacion ABC\n"+r2.toString());


Matriz1 x;
x=b.transpuesta();
System.out.println("Transpuesta de b es= \n"+x.toString());

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

Matriz1 a1;
a1=x.multiplicacion(w);
System.out.println("Multiplicacion de B^t*A`^t= \n"+a1.toString());

Matriz1 r3;
r3=e.multiplicacion(a1);
System.out.println("Multiplicacion de E*B^t*A`^t= \n"+r3.toString());
}}


Respuestas
Matriz c
2.0 2.0 1.0
3.0 -1.0 0.0
Matriz b
6.0 -2.0 5.0
4.0 2.0 -1.0
0.0 1.0 1.0
-2.0 -2.0 0.0
1.0 0.0 -1.0


Matriz e
-1.0 0.0 -1.0
1.0 0.0 1.0
-1.0 1.0 -1.0
Matriz a
1.0 -1.0 0.0 1.0 1.0

Transpuesta de a es=
6.0 4.0 0.0 -2.0 1.0
-2.0 2.0 1.0 -2.0 0.0
5.0 -1.0 1.0 0.0 -1.0

la multiplicacion es a
-1.0 1.0 -1.0
-4.0 0.0 -4.0

la multiplicacion CEB^t
-13.0 -1.0 0.0 0.0 0.0
-44.0 -12.0 -4.0 8.0 0.0

la multiplicacion AB
1.0 -6.0 5.0

la multiplicacion ABC
-12.0 5.0 -12.0
Transpuesta de b es=
6.0 4.0 0.0 -2.0 1.0
-2.0 2.0 1.0 -2.0 0.0
5.0 -1.0 1.0 0.0 -1.0

Transpuesta de a es=
1.0
-1.0
0.0
1.0
1.0

Multiplicacion de B^t*A`^t=
1.0
-6.0
5.0

Multiplicacion de E*B^t*A`^t=
-6.0
6.0
-12.0

No hay comentarios:

Publicar un comentario