In questo programma imparerai a moltiplicare due matrici usando una funzione in Kotlin.
Affinché la moltiplicazione di matrici avvenga, il numero di colonne della prima matrice deve essere uguale al numero di righe della seconda matrice. Nel nostro esempio, ie
c1 = r2
Inoltre, la matrice del prodotto finale è di dimensioni r1 x c2
, ovvero
prodotto (r1) (c2)
Puoi anche moltiplicare due matrici senza funzioni.
Esempio: programma per moltiplicare due matrici utilizzando una funzione
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() ) )
Quando esegui il programma, l'output sarà:
La somma di due matrici è: 24 29 6 25
Nel programma sopra, ci sono due funzioni:
multiplyMatrices()
che moltiplica le due matrici date e restituisce la matrice del prodottodisplayProduct()
che visualizza l'output della matrice del prodotto sullo schermo.
La moltiplicazione avviene come:
| - (a 11 xb 11 ) + (a 12 xb 21 ) + (a 13 xb 31 ) (a 11 xb 12 ) + (a 12 xb 22 ) + (a 13 xb 32 ) - | | _ (a 21 xb 11 ) + (a 22 xb 21 ) + (a 23 xb 31 ) (a 21 xb 12 ) + (a 22 xb 22 ) + (a 23 xb 32) _ |
Nel nostro esempio, avviene come:
| - (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 _ |
Ecco il codice Java equivalente: programma Java per moltiplicare due matrici utilizzando una funzione