JavaScript-Matrixmultiplikation
- Verwenden Sie das logische Laufwerk, um eine Matrixmultiplikation in JavaScript durchzuführen
- Verwenden Sie Methoden zum Berechnen der Matrixmultiplikation in JavaScript
In JavaScript beschäftigen wir uns nicht nur mit Webentwicklungslösungen, sondern können auch die Flexibilität haben, grundlegende Berechnungen durchzuführen. Schließlich ist es eine Programmiersprache.
Wir nehmen ein verschachteltes Array, um ein Matrixmuster in JavaScript zu aktivieren. Dadurch werden die Zeilen und Spalten mühelos dargestellt.
Bei der Matrixmultiplikation müssen wir einige vordefinierte Bedingungen festlegen. Wenn zum Beispiel die Matrix A
Zeile_1 = 2
, Spalte_1 = 3
und Matrix B
Zeile_2 = 3
, Spalte_2 = 2
hat, dann ist das Matrix-Duo kompatibel, um multipliziert zu werden.
Die Grundbedingung Spalte_1
muss gleich Zeile_2
sein. Und das Ergebnis hat die Ordnung 2x2
.
Wir werden zwei Beispiele untersuchen, um die Aufgabe zu erklären.
Verwenden Sie das logische Laufwerk, um eine Matrixmultiplikation in JavaScript durchzuführen
In diesem Fall generieren wir eine verschachtelte Schleife, um das gesamte Array, auch bekannt als Matrix-Array, zu durchlaufen. Wir prüfen die Zeilen
-Elemente der ersten Matrix und berechnen die Grundsumme und Multiplikationsoperation mit der Spalte
der zweiten Matrix.
Lassen Sie uns den Codezaun überprüfen und versuchen, ihn zu verstehen.
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)
Ausgang:
Verwenden Sie Methoden zum Berechnen der Matrixmultiplikation in JavaScript
Wir werden die Methoden map()
und reduce()
verwenden, um das Ergebnis zu zeichnen. Der Iterationsprozess muss nicht explizit definiert werden, aber die map()
wird standardmäßig ausgeführt.
Die folgende Codebasis erklärt den Rest der Erklärung.
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));
Ausgang: