Kotlina programma, lai pavairotu matricā, izmantojot daudzdimensiju masīvus

Šajā programmā jūs iemācīsities reizināt divas matricas, izmantojot daudzdimensiju masīvus Kotlīnā.

Lai notiktu matricas reizināšana, pirmās matricas kolonnu skaitam jābūt vienādam ar otrās matricas rindu skaitu. Mūsu piemērā, ti

 c1 = r2

Arī gala produkta matrica ir lieluma r1 x c2, ti

 produkts (r1) (c2)

Izmantojot funkcijas, varat arī pavairot divas matricas.

Piemērs: Programma divu matricu reizināšanai

 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 = 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) ) ) ) // Displaying the result println("Product of two matrices is: ") for (row in product) ( for (column in row) ( print("$column ") ) println() ) )

Palaidot programmu, izeja būs:

 Divu matricu reizinājums ir: 24 29 6 25 

Iepriekš minētajā programmā reizināšana notiek šādi:

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

Mūsu piemērā tas notiek šādi:

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

Šeit ir ekvivalents Java kods: Java programma divu matricu reizināšanai

Interesanti raksti...