使用多维数组实现两个矩阵相减的 Swift 程序

swiftserver side programmingprogramming更新于 2025/9/17 6:22:17

在本文中,我们将学习如何编写一个使用多维数组实现两个矩阵相减的 Swift 程序。

矩阵是一种数学结构,其中元素按行和列的格式排列。例如,第一个元素位于00位置,第二个元素位于01位置,依此类推。因此,要实现两个矩阵相减,我们将使用 - 运算符将两个矩阵的元素相减,例如 a00 - b00,然后将和存储到一个新的矩阵中。例如 −

矩阵 1 −

$\mathrm{\begin{bmatrix}1 & 8 & 4 \newline8 & 8 & 7 \newline9 & 9 & 3\end{bmatrix}}$

矩阵 2 −

$\mathrm{\begin{bmatrix}2 & 7 & 3 \newline1 & 9 & 4 \newline9 & 3 & 2\end{bmatrix}}$

所以减法 = 矩阵 1 - 矩阵 2

$\mathrm{减法\:=\:\begin{bmatrix}1\:-\:2 & 8\:-\:7 & 4\:-\:3 \newline8\:-\:1 & 8\:-\:9 & 7\:-\:4 \newline9\:-\:9 & 9\:-\:3 & 3\:-\:2\end{bmatrix}\:=\:\begin{bmatrix}-1 & 1 & 1 \newline7 & -1 & 3 \newline0 & 6 & 1\end{bmatrix}}$

算法

步骤 1 − 定义矩阵的大小。

步骤 2 − 创建一个函数来计算减法。

步骤 3 − 创建一个矩阵来存储差值。这里,矩阵的大小和类型应该与输入矩阵相同。

步骤 4 − 运行嵌套 for 循环,遍历给定矩阵的每一行和每一列,并从矩阵 2 中减去矩阵 1,并将结果存储到子矩阵中。

步骤 5 − 创建两个相同类型的矩阵。

步骤 6 − 调用函数并将这两个矩阵作为参数传递,以计算差值。

步骤 7 − 打印输出。

示例

按照 Swift 程序使用多维数组对两个矩阵进行减法运算。

import Foundation
import Glibc

// 矩阵的大小
var row = 5
var col = 5

// 计算两个矩阵之差的函数
func Difference(mxt1:[[Int]], mxt2:[[Int]]){

    // 创建 5x5 矩阵用于存储和
    var Sub = Array(repeating: Array(repeating: 0, count: 5), count: 5)
    
    // 计算两个矩阵之差
    
    // 使用 - 运算符
   for x in 0..<row {
      for y in 0..<col {
         sub[x][y] = mxt1[x][y] - mxt2[x][y]
      }
   }
   print("Resultant matrix:")
   for x in 0..<row {
      for y in 0..<col {
         print(sub[x][y], terminator:" ")
      }
      print("\n")
   }
}

// 创建 5x5 整数类型的矩阵
var matrix1 : [[Int]] = [[8, 3, 4, 5, 9], [9, 6, 7, 5, 7], [9, 5, 5, 9, 4], [8, 4, 9, 2, 4], [5, 9, 8, 3, 9]]
print("Matrix 1:")
for x in 0..<row {
   for y in 0..<col {
      print(matrix1[x][y], terminator:" ")
   }
   print("\n")
}
var matrix2 : [[Int]] = [[3, 3, 0, 1, 2], [2, 4, 7, 8, 7],  [1, 1, 1, 1, 4], [1, 4, 3, 3, 4], [5, 2, 2, 2, 5]]
print("Matrix 2:")
for x in 0..<row {
   for y in 0..<col {
      print(matrix2[x][y], terminator:" ")
   }
   print("\n")
}
difference(mxt1:matrix1, mxt2:matrix2)

输出

Matrix 1:
8 3 4 5 9
9 6 7 5 7
9 5 5 9 4
8 4 9 2 4
5 9 8 3 9

Matrix 2:
3 3 0 1 2
2 4 7 8 7
1 1 1 1 4
1 4 3 3 4
5 2 2 2 5

Resultant matrix:
5 0 4  4  7
7 2 0 -3  0
8 4 4  8  0
7 0 6 -1  0
0 7 6  1  4

以上代码中,我们有两个整数类型的矩阵。现在我们创建一个函数来计算这两个矩阵之间的差值。为了计算差值,我们将矩阵 2 中相同位置的元素减去矩阵 1 中的元素,并将结果存储到与减法位置相同的新矩阵中,例如 ADD[0][0] = mxt1[0][0]- mxt1[0][0]、ADD[0][1] = mxt1[0][1]-mxt1[0][1],以此类推,使用 - 运算符。

结论

以上就是如何使用多维数组创建和减去两个矩阵的方法。您还可以使用多维数组创建任意大小的矩阵,例如 4x4、6x3 和 2x3,并对其进行运算。



相关文章



关于我们 | 隐私条款 | 学习路线
返回顶部