In dit programma leer je twee matrices te vermenigvuldigen met een functie in Kotlin.
Om matrixvermenigvuldiging te laten plaatsvinden, moet het aantal kolommen van de eerste matrix gelijk zijn aan het aantal rijen van de tweede matrix. In ons voorbeeld, dwz
c1 = r2
Ook heeft de uiteindelijke productmatrix een afmeting r1 x c2
, dwz
product (r1) (c2)
U kunt ook twee matrices zonder functies vermenigvuldigen.
Voorbeeld: programma om twee matrices te vermenigvuldigen met een functie
fun main(args: Array) ( 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)) // Mutliplying Two matrices val product = multiplyMatrices(firstMatrix, secondMatrix, r1, c1, c2) // Displaying the result displayProduct(product) ) fun multiplyMatrices(firstMatrix: Array, secondMatrix: Array, r1: Int, c1: Int, c2: Int): Array ( val product = Array(r1) ( IntArray(c2) ) for (i in 0… r1 - 1) ( for (j in 0… c2 - 1) ( for (k in 0… c1 - 1) ( product(i)(j) += firstMatrix(i)(k) * secondMatrix(k)(j) ) ) ) return product ) fun displayProduct(product: Array) ( println("Product of two matrices is: ") for (row in product) ( for (column in row) ( print("$column ") ) println() ) )
Wanneer u het programma uitvoert, is de uitvoer:
Som van twee matrices is: 24 29 6 25
In het bovenstaande programma zijn er twee functies:
multiplyMatrices()
die de twee gegeven matrices vermenigvuldigt en de productmatrix retourneertdisplayProduct()
die de output van de productmatrix op het scherm weergeeft.
De vermenigvuldiging vindt plaats als:
| - (een 11 xb 11 ) + (een 12 xb 21 ) + (een 13 xb 31 ) (een 11 xb 12 ) + (een 12 xb 22 ) + (een 13 xb 32 ) - | | _ (een 21 xb 11 ) + (een 22 xb 21 ) + (een 23 xb 31 ) (een 21 xb 12 ) + (een 22 xb 22 ) + (een 23 xb 32) _ |
In ons voorbeeld vindt het plaats als:
| - (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 _ |
Hier is de equivalente Java-code: Java-programma om twee matrices te vermenigvuldigen met een functie