Kotlin-ohjelma moninkertaistaa kaksi matriisia välittämällä matriisi funktiolle

Tässä ohjelmassa opit kertomaan kaksi matriisia Kotlinin funktiolla.

Jotta matriisikertoja tapahtuisi, ensimmäisen matriisin sarakkeiden lukumäärän on oltava yhtä suuri kuin toisen matriisin rivien lukumäärä. Esimerkissämme eli

 c1 = r2

Myös lopputuotematriisi on kooltaan r1 x c2eli

 tuote (r1) (c2)

Voit myös kertoa kaksi matriisia ilman funktioita.

Esimerkki: Ohjelmoi kertomaan kaksi matriisia funktion avulla

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

Kun suoritat ohjelmaa, tulos on:

 Kahden matriisin summa on: 24 29 6 25 

Yllä olevassa ohjelmassa on kaksi toimintoa:

  • multiplyMatrices() joka kertoo kaksi annettua matriisia ja palauttaa tuotematriisin
  • displayProduct() joka näyttää tuotematriisin tuotoksen näytöllä.

Kertolasku tapahtuu seuraavasti:

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

Esimerkissämme se tapahtuu seuraavasti:

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

Tässä on vastaava Java-koodi: Java-ohjelma moninkertaistaa kaksi matriisia funktion avulla

Mielenkiintoisia artikkeleita...