domingo, 13 de mayo de 2012
Suma, multiplicación y traspuesta de una matriz en JAVA
Calculos con matrices en Java.
public class Matriz {
//almacena los datos de la matriz usada en los calculos
int [][] maDatos;
public Matriz(int f, int c){
//if anidados que verifican si la matriz es cuadrada para evitar matrices
//rectangulares.
//si las filas son igual a la columna
if (f == c){
maDatos = new int [f][c];
}
//si las filas son menores que las columnas usar las columnas
else if(f < c){
maDatos = new int [c][c];
}
//si las filas son mayores que las columnas usar las filas
else {
maDatos = new int [f][f];
}
}
//permite insertar un arreglo al instanciar el objeto
public Matriz (int [][] d){
maDatos = d;
}
//metodo que suma dos matrices
public Matriz sumar(Matriz m){
int laRes[][] = new int [maDatos.length][maDatos[0].length];
//instrucciones for que permiten sumar una matriz elemento
//por elemento
for(int i = 0; i < maDatos.length; i++){
for (int j = 0; j < maDatos[0].length; j++){
laRes [i][j] = maDatos[i][j] + m.maDatos[i][j];
}
}
return new Matriz (laRes);
}
//metodo que genera la traspuesta de una matriz
public Matriz traspuesta(){
int laRes[][] = new int [maDatos[0].length][maDatos.length];
for(int i = 0; i < maDatos.length; i++){
for (int j = 0; j < maDatos[0].length; j++){
laRes [j][i] = maDatos[i][j];
}
}
return new Matriz (laRes);
}
//metodo que multiplica dos matrices
public Matriz multiplicar(Matriz m){
int laRes[][] = new int [maDatos.length][maDatos[0].length];
//se necesitan tres instrucciones for para multiplicar cada
//fila de la una matriz por las columnas de la otra
for(int i = 0; i < maDatos.length; i++){
for (int j = 0; j < maDatos[0].length; j++){
for (int k = 0; k < maDatos[0].length; k++){
laRes [i][j] += maDatos[i][k] * m.maDatos[k][j];
}
}
}
return new Matriz (laRes);
}
//permite visualizar la matriz
public void mostrar(){
for(int i = 0; i < maDatos.length; i++){
for (int j = 0; j < maDatos[0].length; j++){
System.out.print("|" + maDatos[i][j]);
}
System.out.print("|\n");
}
System.out.print("\n");
}
}
Suscribirse a:
Entradas (Atom)