public class Matriz {
int numeroFilas;
int numeroColumnas;
double [][] matriz;
public Matriz(){}
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 String imprimir(){
String aux ="";
for(int i = 0; i < numeroFilas; i++){
for(int j = 0; j < numeroColumnas; j++){
aux = aux + matriz[i][j] +" ";
}
aux = aux + "\n";
}
return aux;
}
public Matriz multiplicacion(Matriz b){
if(this.numeroFilas==B.numeroColumnas){
Matriz r =new Matriz(this.numeroFilas,this.numeroColumnas);
int j;
int k;
for(int i=0;i
for(j=0;j for(k=0;k
r.matriz[i][j]+=this.matriz[i][k]*b.matriz[k][j];
return r;
}
else{
Matriz r=new Matriz(1,1);
System.out.println("No esta definida la multiplicacion de estas matrices");
return r;
}
}
public Matriz inversa(){
Matriz r=new Matriz(this.numeroColumnas,this.numeroFilas);
r.matriz[0][0]=this.matriz[1][1]/((this.matriz[0][0]*this.matriz[1][1])-(this.matriz[0][1]*this.matriz[1][0]));
r.matriz[0][1]=-1*this.matriz[0][1]/((this.matriz[0][0]*this.matriz[1][1])-(this.matriz[0][1]*this.matriz[1][0]));
r.matriz[1][0]=-1*this.matriz[1][0]/((this.matriz[0][0]*this.matriz[1][1])-(this.matriz[0][1]*this.matriz[1][0]));
r.matriz[1][1]=this.matriz[0][0]/((this.matriz[0][0]*this.matriz[1][1])-(this.matriz[0][1]*this.matriz[1][0]));
return r;
}
public static void main(String args[]){
Matriz a=new Matriz(2,2);
a.matriz[0][0]=1;
a.matriz[0][1]=-1;
a.matriz[1][0]=2;
a.matriz[1][1]=1;
System.out.println("la matriz A es:");
System.out.println(a.imprimir());
Matriz c=new Matriz(2,2);
c.matriz[0][0]=3;c.matriz[1][0]=-4;
System.out.println("la matriz C es:");
System.out.println(c.imprimir());
Matriz resultado;
System.out.println(resultado.imprimir());
/* Impresion de resultados-------
resultado=a.inversa();
System.out.println("la matriz inversa de A es:");
System.out.println(resultado.imprimir());
resultado=a.multiplicacion(c);
System.out.println("la matriz producto axc es:");
System.out.println(resultado.imprimir());
resultado=a.inversa().multiplicacion(c);
System.out.println("las soluciones del sistema son:");
System.out.println(resultado.imprimir());
}
}
miércoles, 1 de abril de 2009
Suscribirse a:
Enviar comentarios (Atom)

El codigo para la multiplicacion esta bastante bien lo que tocaria ver es una mejor manera de manejar lo de la matriz inversa
ResponderEliminarMe parece que el programa esta bien hecho pero no se entiende deberias poner comentarios explicando lo que hace cada clase.
ResponderEliminarbuen trabajo, esta muy entendible el codigo, seria bueno talves utilizar el clonar en la matriz inversa.
ResponderEliminar