Produit de deux matrices sous python
Résolu
energetix
Messages postés
13
Statut
Membre
-
energetix Messages postés 13 Statut Membre -
energetix Messages postés 13 Statut Membre -
Bonjour,
j'ai un soucis pour trouver le code pour calculer le produit de deux matrices voilà mon code :
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
je lance ce programme avec les listes suivantes :
m1 = [[0,0,0],[2,1,1],[2,1,1]]
m2 = [[3,2,1],[3,3,0],[0,1,2]]
et il me retourne : [[0, 0, 0], [7, 4, 1], [2, 3, 4]] a part la premiere ligne le reste est mauvais mais ou est l'erreur ??? please help !!!
j'ai un soucis pour trouver le code pour calculer le produit de deux matrices voilà mon code :
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
je lance ce programme avec les listes suivantes :
m1 = [[0,0,0],[2,1,1],[2,1,1]]
m2 = [[3,2,1],[3,3,0],[0,1,2]]
et il me retourne : [[0, 0, 0], [7, 4, 1], [2, 3, 4]] a part la premiere ligne le reste est mauvais mais ou est l'erreur ??? please help !!!
Configuration: Windows XP Internet Explorer 7.0
3 réponses
-
Ah, c'est quand même 'plusse' lisible ;-)
def multiply(m1, m2): m = [] if len(m1[0]) != len(m2): print "erreur" return False for i in range(len(m1)): ligne = [] for j in range(len(m2[0])): element = 0 for k in range(len(m1[0])): element = element + m1[i][k] * m2[k][j] ligne.append(element) m.append(ligne) return mSeulement deux ch'tites erreurs, mais évidemment cela suffit à rendre un programme inefficace voire dangereux !
Bonne continuation.