Matriz Simétrica con Java

07/Ago/2015 Java , 4 Comentarios
Programación en Java

En este ejemplo vamos a calcular una matriz simétrica con Java. Una matriz simétrica es aquella donde la matriz es igual a la matriz transpuesta.

A = At

Así que lo primero que tenemos que saber es como calcular la matriz transpuesta con Java (At). Es decir, convertir sus filas en columnas.

Hemos creado una clase Matriz.java la cual contiene múltiples operaciones. Entre las cuales encontrarás la de transponer una matriz con Java.

public static int[][] transponer(int[][] matriz) {
		
  int[][] nuevaMatriz = new int[matriz[0].length][matriz.length];
		
  for (int x=0; x < matriz.length; x++) {
    for (int y=0; y < matriz[x].length; y++) {
      nuevaMatriz[y][x] = matriz[x][y];
    }
  }		
  return nuevaMatriz;
}

Creamos la matriz de la cual queremos saber si es simétrica.

int[][] m1 = {{1,2,3},{2,3,1},{3,1,2}};

E invocamos para obtener la matriz transpuesta el método anterior:

int[][] m2 = Matriz.transponer(m1);

Ahora tendremos que comparar si m1 y m2 son iguales. Para ello recuerda que no podemos utilizar ni el operador igual ni el método equals. Si no que tenemos que utilizar el método .deepEquals.

public static boolean equals(int[][] m1, int[][] m2) {
  if (Arrays.deepEquals(m1, m2))
    return true;
  else
    return false;	
}

En nuestra clase Matriz.java también hemos creado este método que podrás utilizar.

Así que lo último que hacemos para saber si es una matriz simétrica con Java será compararlas.

if (Matriz.equals(m1, m2))
  System.out.println("La matriz es una matriz simétrica");
else
  System.out.println("La matriz NO es una matriz simétrica");

Vídeos sobre Java


4 comentarios en “Matriz Simétrica con Java”

Víctor Cuervo

Carlos Alberto Varela

Una matriz es simétrica si la traspuesta de la matriz es la misma matriz. Se puede realizar un solo recorrido por extremos comparando la parte superior con la inferior de la misma matriz y se usa una variable bandera que indique si encuentra algún elemento distinto en su respectiva comparación.

Comparto el link de la matriz simétrica en java:

arrays – java (matriz simétrica)

Víctor Cuervo

andres

necesito mostrar con una matriz como hacer codigo asimétrica y transitivas con filas y columnas.
por favor ayudar, no se hacer asimétrica y transitiva

Víctor Cuervo

Eugenia

hola como va todo???necesito mostrar con una matriz si es reflexiba o simetrica con n filas y n columnas….me pueden ayudar…nose como empezar….ayuuudaaaa…..

Víctor Cuervo

Mario

COMO CREAR UN PROGRAMA QUE CALCULE, EL METODO DEL PIVOTE EN MATRICES.
AYUDA PORFAVOR

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.