使用多维数组实现两个矩阵相减的 Swift 程序
在本文中,我们将学习如何编写一个使用多维数组实现两个矩阵相减的 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,并对其进行运算。