Como les comenté la semana pasada, seguimos con las operaciones con matrices. Ya vimos lo sencilla que puede ser la suma y la resta pero ¿la multiplicación? puede parecer un poco complicado al principio así que vamos por partes.
A diferencia de la suma y resta en la multiplicación se hace "fila por columna" y se suman los productos. Ya que se hace fila por columna es necesario que las matrices a multiplicar sigan la siguiente forma:
(n x m)(m x p) = (n x p)
Es decir, el numero de columnas en la primera matriz debe ser igual al numero de filas en la segunda matriz. La matriz resultante será del número de filas de la primera por el número de columnas de la segunda.
Para este caso veremos una matriz de 3x3 así que no tendremos problemas.

Como pueden ver en la imagen primero se multiplica el primer elemento de A con el primer elemento de B, luego se suma a la multiplicación del segundo elemento de A por el segundo de B... etc.
(Tomando las matrices como A[i][j]; B[i][j])
Basados en lo anterior y pensando más enfocados en programación podemos observar que en A el índice j (eje y) no cambia durante la operación mientras que para B el que permanece igual es el índice i (eje x). Además, notemos que el índice i de la matriz A siempre es el mismo al de la matriz resultado, y el índice j del resultado es el mismo que el de la matriz B. Planteando esto podemos comenzar a programar. La primera parte es igual a como hemos venido haciendo. simplemente agregamos un for para multiplicar los lugares.
¿Recuerdan que les mencioné que la matriz resultado sería de (n x p)? pues tomé eso como referencia en la multiplicación para no perderme y créanme que resulta bastante conveniente. Se pueden modificar las dimensiones de la matriz, como ya también se comentó pero procuren que se cumpla la forma:
(n x m)(m x p) = (n x p)
Comentarios
Publicar un comentario