使用多维数组的Swift程序:两个矩阵的减法


在这篇文章中,我们将学习如何编写一个Swift程序,使用多维数组来减去两个矩阵。

矩阵是一种数学结构,其元素以行和列的形式排列。例如,第一个元素位于a00位置,第二个元素位于a01位置,依此类推。因此,要减去两个矩阵,我们将使用-运算符来减去两个矩阵的元素,例如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循环,遍历给定矩阵的每一行和每一列,将矩阵1从矩阵2中减去,并将结果存储到差值矩阵中。

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

步骤6 - 调用函数并将这些矩阵作为参数传递给它以计算差值。

步骤7 - 打印输出。

示例

以下是使用多维数组减去两个矩阵的Swift程序。

import Foundation
import Glibc

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

// Function to find the difference between two matrices
func difference(mxt1:[[Int]], mxt2:[[Int]]){
   
   // Creating 5x5 matrix to store the sum
   var sub = Array(repeating: Array(repeating: 0, count: 5), count: 5)

   // Find the difference of two matrices
 
   // Using - operator
   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")
   }
}

// Creating 5x5 matrix of integer type
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

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

结论

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

更新于:2023年1月9日

290 次浏览

开启您的职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.