Multiplicación de matrices de JavaScript
- Use la unidad lógica para realizar la multiplicación de matrices en JavaScript
- Usar métodos para calcular la multiplicación de matrices en JavaScript
En JavaScript, no solo tratamos con soluciones de desarrollo web, sino que también podemos tener la flexibilidad de realizar cálculos básicos. Después de todo, es un lenguaje de programación.
Tomaremos una matriz anidada para habilitar un patrón de matriz en JavaScript. Esto representará las filas y columnas sin esfuerzo.
En la multiplicación de matrices, necesitamos establecer algunas condiciones predefinidas. Por ejemplo, si la matriz A
tiene “fila_1 = 2”, “columna_1 = 3” y la matriz B
tiene “fila_2 = 3”, “columna_2 = 2”, entonces el dúo de matrices es compatible para ser multiplicado.
La condición básica columna_1
tiene que ser igual a fila_2
. Y el resultado tendrá un orden de 2x2
.
Examinaremos dos ejemplos para explicar la tarea.
Use la unidad lógica para realizar la multiplicación de matrices en JavaScript
En este caso, generaremos un bucle anidado para atravesar toda la matriz, también conocida como la matriz matriz. Comprobaremos los elementos de fila
de la primera matriz y calcularemos la operación básica de suma y multiplicación con la columna
de la segunda matriz.
Revisemos la valla de código y tratemos de entender.
function multiplyMatrices(m1, m2) {
var result = [];
for (var i = 0; i < m1.length; i++) {
result[i] = [];
for (var j = 0; j < m2[0].length; j++) {
var sum = 0;
for (var k = 0; k < m1[0].length; k++) {
sum += m1[i][k] * m2[k][j];
}
result[i][j] = sum;
}
}
return result;
}
let m1 = [[1, 2, 42], [4, 5, 7]];
let m2 = [[1, 2], [3, 4], [42, 7]];
var result = multiplyMatrices(m1, m2)
console.table(result)
Producción:
Usar métodos para calcular la multiplicación de matrices en JavaScript
Usaremos los métodos map()
y reduce()
para dibujar el resultado. No es necesario definir explícitamente el proceso de iteración, pero el mapa()
se realiza de forma predeterminada.
La siguiente base de código explica el resto de la explicación.
let MatrixProd = (A, B) => A.map(
(row, i) => B[0].map(
(_, j) => row.reduce((acc, _, n) => acc + A[i][n] * B[n][j], 0)))
let A = [[1, 2, 3], [4, 5, 6]];
let B = [[1, 2], [3, 4], [5, 6]];
console.table(MatrixProd(A, B));
Producción: