使用多維陣列的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 次瀏覽

開啟您的職業生涯

透過完成課程獲得認證

開始學習
廣告