Dalam program ini, anda akan belajar memperbanyak dua matriks menggunakan tatasusunan pelbagai dimensi di Kotlin.
Untuk pendaraban matriks berlaku, bilangan lajur matriks pertama mestilah sama dengan bilangan baris matriks kedua. Dalam contoh kami, iaitu
c1 = r2
Matrik produk akhir juga berukuran r1 x c2
, iaitu
produk (r1) (c2)
Anda juga boleh mengalikan dua matriks menggunakan fungsi.
Contoh: Program untuk Mendarab Dua Matriks
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() ) )
Semasa anda menjalankan program, outputnya adalah:
Produk dua matriks ialah: 24 29 6 25
Dalam program di atas, pendaraban berlaku seperti:
| - (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)) _ |
Dalam contoh kami, ia berlaku sebagai:
| - (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 _ |
Inilah kod Java yang setara: Program Java untuk mengalikan dua matriks