Tenía que generar una matriz con números aleatorios y obtener un vector con los números de su diagonal principal, también tenía que obtener la matriz traspuesta de dicha matriz.
Para obtener la matriz traspuesta utilicé el siguiente código que me encontré en uno de los temas del foro:
Código Python:
Ver original
M1 = [[1, 2, 3], [2, 12, 6], [1, 0, -3], [10, -1, 0]] M2 = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]] for i in range(4): for j in range(3): M2[j][i] = M1[i][j] for i in range(3): print(M2[i])
tomado de este tema --->>> http://www.forosdelweb.com/f130/como...matriz-851460/
El código que tengo funciona y hace lo que requería que hiciera, sin embargo no logro entender como es que funciona, su lógica. ¿Cómo es que "M2[j][i] = M1[i][j]" logra generar la matriz traspuesta?
Me pasa igual con la diagonal de la matriz.
n son las filas y columnas, es una matriz cuadrada. En este caso ¿cómo es que "matriz[i][i]" genera los números de la diagonal?
Código Python:
Ver original
matriz = [] diagonal = [] for i in range(n): diagonal.append(matriz[i][i]) print (diagonal)
Quisiera entender por qué es que funciona como funciona. Muchas gracias a quien pueda darme esta clase. Saludos!