Ayuda: Multiplicación de matrices - Python

Iniciado por Itzhack, 25 Septiembre 2014, 19:21 PM

0 Miembros y 1 Visitante están viendo este tema.

Itzhack

Hola todo el mundo! Estoy tratando de programar una multiplicación de dos matrices, que antes debe validar si las dos matrices son validas (matrices completas) y validar si las dos matrices se pueden multiplicar(requisito que el número de columnas de la Matriz 1 sea igual al numero de filas de la matriz 2), por el momento llegué a esto, pero obtengo el error abajo descrito:
-------------------------------------------------------------------------------------------------------------
A = [[1, 2], [3, 4]]           # matriz 2x2
B = [[1, 2, 3], [4, 5, 6]]   # matriz 2x3

def produitMatriciel (A,B):
   fila_A = len(A)
   columna_A = len(A[0])
   fila_B = len(B)
   columna_B = len (B[0])

   if columna_A != fila_B:
       print ('None')
       return

   C = []
   for i in range(len(A)):
       C.append([0]*(len(B[0])))

   for i in range(len(A)):
       for j in range(len(B)):
           for k in range(len(B[0])):
               C [ i ] [j] += A[ i ][k]*B[k][j]

   print (C)
------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------
<ipython-input-1-484d674c941c> in productoMatricial(A, B)
    18         for j in range(len(B)):
    19             for k in range(len(B[0])):
---> 20                 C[ i ] [ j ] += A[ i ][k]*B[k][j]
    21
    22     print (C)

IndexError: list index out of range

Bundor

#1
Casi lo tenias, revisa esta parte:

Código (python) [Seleccionar]

for i in range(len(A)):
       for j in range(len(B)):
           for k in range(len(B[0])):
               C [ i ] [j] += A[ i ][k]*B[k][j]


PD: He quitado la solución por si alguien lo quiere resolver por si mismo