Chương trình Kotlin để Nhân hai Ma trận bằng cách Truyền Ma trận cho một Hàm

Trong chương trình này, bạn sẽ học cách nhân hai ma trận bằng một hàm trong Kotlin.

Để phép nhân ma trận diễn ra, số cột của ma trận thứ nhất phải bằng số hàng của ma trận thứ hai. Trong ví dụ của chúng tôi, tức là

 c1 = r2

Ngoài ra, ma trận sản phẩm cuối cùng có kích thước r1 x c2, tức là

 sản phẩm (r1) (c2)

Bạn cũng có thể nhân hai ma trận mà không cần hàm.

Ví dụ: Chương trình nhân hai ma trận bằng một hàm

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

Khi bạn chạy chương trình, đầu ra sẽ là:

 Tổng của hai ma trận là: 24 29 6 25 

Trong chương trình trên, có hai chức năng:

  • multiplyMatrices() nhân hai ma trận đã cho và trả về ma trận tích
  • displayProduct() hiển thị đầu ra của ma trận sản phẩm trên màn hình.

Phép nhân diễn ra như sau:

| - (một 11 xb 11 ) + (một 12 xb 21 ) + (một 13 xb 31 ) (a 11 xb 12 ) + (một 12 xb 22 ) + (một 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) _ | 

Trong ví dụ của chúng tôi, nó diễn ra như sau:

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

Đây là mã Java tương đương: Chương trình Java để nhân hai ma trận bằng một hàm

thú vị bài viết...