Hola, buenas tardes. Leyendo en el foro me encontré con algunos temas que me ayudaron a resolver problemas que tenía con el código de una matriz.
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 originalM1 = [[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 originalmatriz = []
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!