Programme Kotlin pour multiplier deux matrices en passant une matrice à une fonction

Dans ce programme, vous apprendrez à multiplier deux matrices à l'aide d'une fonction de Kotlin.

Pour que la multiplication matricielle ait lieu, le nombre de colonnes de la première matrice doit être égal au nombre de lignes de la deuxième matrice. Dans notre exemple, ie

 c1 = r2

De plus, la matrice du produit final est de taille r1 x c2, c'est-à-dire

 produit (r1) (c2)

Vous pouvez également multiplier deux matrices sans fonctions.

Exemple: programme pour multiplier deux matrices à l'aide d'une fonction

 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() ) )

Lorsque vous exécutez le programme, la sortie sera:

 La somme de deux matrices est: 24 29 6 25 

Dans le programme ci-dessus, il y a deux fonctions:

  • multiplyMatrices() qui multiplie les deux matrices données et renvoie la matrice produit
  • displayProduct() qui affiche la sortie de la matrice du produit à l'écran.

La multiplication a lieu comme:

| - (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)) _ | 

Dans notre exemple, il se déroule comme:

| - (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 _ |

Voici le code Java équivalent: programme Java pour multiplier deux matrices à l'aide d'une fonction

Articles intéressants...