Dalam program ini, anda akan belajar memperbanyak dua matriks menggunakan fungsi 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 tanpa fungsi.
Contoh: Program untuk Mendarab Dua Matriks menggunakan Fungsi
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() ) )
Semasa anda menjalankan program, outputnya adalah:
Jumlah dua matriks ialah: 24 29 6 25
Dalam program di atas, terdapat dua fungsi:
multiplyMatrices()
yang mengalikan dua matriks yang diberikan dan mengembalikan matriks produkdisplayProduct()
yang memaparkan output matrik produk di skrin.
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 menggunakan fungsi