Producto de dos matrices en Python
Resuelto
energetix
Mensajes publicados
13
Estado
Membre
-
energetix Mensajes publicados 13 Estado Membre -
energetix Mensajes publicados 13 Estado Membre -
Hola,
tengo un problema para encontrar el código para calcular el producto de dos matrices, aquí está mi código:
def multiply(m1, m2):
m = []
if len(m1[0]) != len(m2):
return False
for i in range(len(m1)):
ligne = []
for j in range(len(m2[0])):
for k in range(len(m1[0])):
element = m1[i][j] * m2[i][j]
element = element + m1[i][k] * m2[k][i]
ligne.append(element)
m.append(ligne)
return m
ejecuto este programa con las siguientes listas:
m1 = [[0,0,0],[2,1,1],[2,1,1]]
m2 = [[3,2,1],[3,3,0],[0,1,2]]
y me devuelve: [[0, 0, 0], [7, 4, 1], [2, 3, 4]] aparte de la primera línea el resto está mal, ¿pero dónde está el error? ¡¡por favor ayuda!!!
tengo un problema para encontrar el código para calcular el producto de dos matrices, aquí está mi código:
def multiply(m1, m2):
m = []
if len(m1[0]) != len(m2):
return False
for i in range(len(m1)):
ligne = []
for j in range(len(m2[0])):
for k in range(len(m1[0])):
element = m1[i][j] * m2[i][j]
element = element + m1[i][k] * m2[k][i]
ligne.append(element)
m.append(ligne)
return m
ejecuto este programa con las siguientes listas:
m1 = [[0,0,0],[2,1,1],[2,1,1]]
m2 = [[3,2,1],[3,3,0],[0,1,2]]
y me devuelve: [[0, 0, 0], [7, 4, 1], [2, 3, 4]] aparte de la primera línea el resto está mal, ¿pero dónde está el error? ¡¡por favor ayuda!!!
Configuración: Windows XP Internet Explorer 7.0
3 réponses
Ah, es mucho 'más' legible ;-)
Buena continuación.
def multiply(m1, m2): m = [] if len(m1[0]) != len(m2): print "error" return False for i in range(len(m1)): línea = [] for j in range(len(m2[0])): elemento = 0 for k in range(len(m1[0])): elemento = elemento + m1[i][k] * m2[k][j] línea.append(elemento) m.append(línea) return mSolo dos pequeñitas errores, pero, por supuesto, eso es suficiente para hacer un programa ineficaz e incluso peligroso!
Buena continuación.
energetix
Mensajes publicados
13
Estado
Membre
36
¡Está bien, muchas gracias a ti! ;-)