int numfilas;
int numcolum;
double [][] matriz;
public Matriz (){}
public Matriz(int nF, int nC){
numfilas= nF;
numcolum= nC;
matriz= new double[numfilas][numcolum];
for(int i=0;i
}
public String imprimir(){
String aux = "";
for(int i=0; i
}
aux= aux +"\n";
}
return aux;
}
public Matriz suma(Matriz B){
if ((this.numfilas == B.numfilas)&(this.numcolum == B.numcolum)){
Matriz r = new Matriz(this.numfilas,this.numcolum);
int j;
for(int i=0; i
return r;
}
else{
Matriz r = new Matriz (1,1);
System.out.println("No se pueden sumar las matrices");
return r;
}
}
public Matriz resta(Matriz B){
if ((this.numfilas == B.numfilas)&(this.numcolum == B.numcolum)){
Matriz r = new Matriz(this.numfilas,this.numcolum);
int j;
for(int i=0; i
return r;
}
else{
Matriz r = new Matriz (1,1);
System.out.println("No se pueden restar las matrices");
return r;
}
}
public Matriz multiplicacion(Matriz B){
Matriz r = new Matriz(this.numfilas,B.numcolum);
int j;
int k;
for(int i=0; i
return r;
}
public Matriz traspuesta(){
Matriz r = new Matriz(this.numcolum,this.numfilas);
int j;
for(int i=0; i
return r;
}
public Matriz inversa(){
Matriz result=new Matriz(this.numfilas,this.numcolum);
double tmp;
Matriz I=new Matriz(this.numfilas,this.numcolum*2);
for(int i=0;i
for(int i=0;i
if (i==j)
I.matriz[i][j+this.numfilas]=1.0;
}
}
for(int i=0;i
for(int j=0;j<(this.numcolum*2);j++)
I.matriz[i][j]/=tmp;
for(int k=0;k
tmp=I.matriz[k][i];
for(int j=0;j<(this.numcolum*2);j++)
I.matriz[k][j]-=tmp*I.matriz[i][j];
}
}
}
for(int i=0;i
return result;
}
public static void main(String args []){
Matriz m = new Matriz(3, 3);
m.matriz[0][0]= 1;
m.matriz[1][1]= 3;
m.matriz[2][2]= 5;
System.out.println(m.imprimir());
Matriz b = new Matriz(3, 3);
b.matriz[0][0]= 1;
b.matriz[0][1]= 2;
b.matriz[0][2]= 3;
b.matriz[1][1]= 4;
b.matriz[1][2]= 5;
b.matriz[2][2]= 6;
System.out.println(b.imprimir());
Matriz resultado;
resultado = m.suma(b);
System.out.println(resultado.imprimir());
resultado = m.resta(b);
System.out.println(resultado.imprimir());
resultado = m.multiplicacion(b);
System.out.println(resultado.imprimir());
resultado = b.traspuesta();
System.out.println(resultado.imprimir());
resultado = m.traspuesta();
System.out.println(resultado.imprimir());
resultado = m.inversa();
System.out.println(resultado.imprimir());
resultado = b.inversa();
System.out.println(resultado.imprimir());
}
}