Swift程序 通过向函数传递矩阵使两个矩阵相乘

Swift程序 通过向函数传递矩阵使两个矩阵相乘

在这篇文章中,我们将学习如何编写一个swift程序,通过将矩阵传递给一个函数来实现两个矩阵的相乘。

矩阵是一种数学结构,其中的元素以行和列的形式存在。例如,第一个元素在a00位置,第二个元素在a01位置,以此类推。因此,要将两个矩阵相乘,我们将第一个矩阵的第m行乘以第二个矩阵的第n列,然后将乘积相加。这将在结果矩阵的第m行和第n列创建一个元素。例如 –

矩阵1 –

Swift程序 通过向函数传递矩阵使两个矩阵相乘

矩阵2 –

Swift程序 通过向函数传递矩阵使两个矩阵相乘

所以product=矩阵1 * 矩阵2

Swift程序 通过向函数传递矩阵使两个矩阵相乘

算法

第1步 – 定义行和列的大小。

第2步 – 创建一个函数。

第3步 – 在这个函数中,创建一个空矩阵来存储相同数量的行和列的结果。

第4步 – 运行嵌套for循环,遍历两个矩阵的每个元素。

第5步 – 将矩阵1中[x][z]位置的元素与矩阵2中每一行的元素相乘,并将这些值相加,将这些值存储在结果矩阵的[x][y]位置。这个过程将一直持续到矩阵1的最后一个元素。

第6步 – 创建两个相同类型的矩阵,其行数和列数相同。

第7步 – 调用该函数并在其中传递这些矩阵。

第8步 – 打印结果矩阵。

示例

按照Swift程序,将两个矩阵相乘,把矩阵传递给一个函数。

import Foundation
import Glibc

// Size of the matrix
var row = 4
var col = 4

// Function to multiply two matrices
func multiplyMatrix(mxt1:[[Int]], mxt2:[[Int]]) {

   // Creating 4x4 matrix to store the result
   var Mul = Array(repeating: Array(repeating: 0, count: 4), count: 4)

   // Multiply two matrices

   // Using * operator
   for x in 0..<row {
      for y in 0..<col {
         for z in 0..<row {
            Mul[x][y] += mxt1[x][z] * mxt2[z][y]
         }
      }
   }
   print("Resultant matrix:")
   for x in 0..<row {
      for y in 0..<col {
         print(Mul[x][y], terminator:" ")
      }
      print("\n")
   }
}

// Creating 4x4 matrix of integer type
var matrix1 : [[Int]] = [[1, 1, 4, 3], [1, 1, 1, 1], [5, 5, 2, 2], [4, 3, 3, 4]]
print("Matrix 1:")
for x in 0..<row {
   for y in 0..<col {
      print(matrix1[x][y], terminator:" ")
   }
   print("\n")
}
var matrix2 : [[Int]] = [[1, 1, 4, 4], [3, 2, 4, 5], [5, 6, 3, 2], [4, 5, 6, 3]]
print("Matrix 2:")
for x in 0..<row {
   for y in 0..<col {
      print(matrix2[x][y], terminator:" ")
   }
   print("\n")
}

// Calling the function to display result
multiplyMatrix(mxt1:matrix1, mxt2:matrix2)

输出

Matrix 1:
1 1 4 3
1 1 1 1
5 5 2 2
4 3 3 4

Matrix 2:
1 1 4 4
3 2 4 5
5 6 3 2
4 5 6 3

Resultant matrix:
36 42 38 26
13 14 17 14
38 37 58 55
44 48 61 49

在上面的代码中,我们创建了两个带有数值的4×4矩阵。现在我们创建一个函数来寻找两个矩阵的乘积。在这个函数中,我们创建一个空矩阵来存储结果。此外,运行嵌套的for循环来迭代两个矩阵的每个元素。现在,我们将矩阵1中[x][z]位置的元素与矩阵2中的每一个元素相乘,使用*来计算。 操作符,并将数值相加,将结果存储在结果矩阵的[x][y]位置。对矩阵1的所有元素重复这个过程。

结论

因此,这就是我们如何通过将矩阵传递给一个函数而使两个矩阵相乘。使用这种方法,我们也可以将不同大小的矩阵相乘,如4×4、6×3和2×3。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Swift 教程