English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In diesem Programm lernen Sie, wie man in Kotlin mit mehrdimensionalen Arrays zwei Matrizen multipliziert.
Um die Matrixmultiplikation durchzuführen, muss die Anzahl der Spalten der ersten Matrix gleich der Anzahl der Zeilen der zweiten Matrix sein. In unserem Beispiel bedeutet das, dass
c1 = r2
Daher hat die Größe des endgültigen Matrizenprodukts die Größe r1 x c2,d.h.
produkt[r1][c2]
Sie können auchVerwenden Sie eine Funktion, um zwei Matrizen zu multiplizieren.
fun main(args: Array<String>) { val r1 = 2 val c1 = 3 val r2 = 3 val c2 = 2 val firstMatrix = arrayOf(intArrayOf(3, -2, 5), intArrayOf(3, 0, 4)) val secondMatrix = arrayOf(intArrayOf(2, 3), intArrayOf(-9, 0), intArrayOf(0, 4)) //Multiplikation von zwei Matrizen val produkt = Array(r1) { IntArray(c2) } for (i in 0..r1 - 1) { for (j in 0..c2 - 1) { for (k in 0..c1 - 1) { Produkt[i][j] += firstMatrix[i][k] * secondMatrix[k][j] } } } //Zeige das Ergebnis an println("Der Produkt der beiden Matrizen ist: ") for (Zeile in Produkt) { for (Spalte in Zeile) { print("$column ") } println() } }
Wenn das Programm ausgeführt wird, lautet die Ausgabe:
Der Produkt der beiden Matrizen ist: 24 29 6 25
In dem obigen Programm tritt die Multiplikation ein:
|- (a11 x b11) + (a12 x b21) + (a13 x b31) (a11 x b12) + (a12 x b22) + (a13 x b32) -| |_ (a21 x b11) + (a22 x b21) + (a23 x b31) (a21 x b12) + (a22 x b22) + (a23 x b32) _|
In unserem Beispiel tritt dies ein:
|- (3 x 2) + (-2 x -9) + (5 x 0) = 24 (3 x 3) + (-2 x 0) + (5 x 4) = 29 -| |_ (3 x 2) + ( 0 x -9) + (4 x 0) = 6 (3 x 3) + ( 0 x 0) + (4 x 4) = 25 _|
Dies ist das äquivalente Java-Code:Java-Programm zum Multiplizieren von zwei Matrizen