如何在 MATLAB 中遍歷 N 維矩陣的每個元素?


MATLAB 是一款功能強大的工具,可用於對矩陣執行各種操作。在矩陣的情況下,遍歷矩陣的元素是用於執行各種其他矩陣操作的常見操作之一,例如查詢矩陣所有元素的總和、查詢矩陣中的最大值和最小值等等。在本文中,我將解釋如何在 MATLAB 中遍歷 N 維矩陣中的元素。

遍歷矩陣元素

在矩陣中,遍歷每個元素意味著訪問和處理矩陣中存在的每個值。

N 維矩陣是指具有兩個或多個維度的矩陣。例如,如果一個矩陣有行和列,則有兩個維度,因此該矩陣稱為二維矩陣。

因此,訪問和處理二維矩陣的行和列中存在的每個值被稱為遍歷二維矩陣中的每個元素。類似地,我們可以將其擴充套件到 N 維。

如何在 MATLAB 中遍歷 N 維矩陣的每個元素?

MATLAB 提供了兩種有效的遍歷 N 維矩陣中每個元素的方法。它們是 -

  • 巢狀迴圈方法

  • 向量化操作方法

我們可以使用這兩種方法來遍歷 MATLAB 中 N 維陣列的每個元素。

現在讓我們瞭解如何使用這兩種方法編寫 MATLAB 程式碼來遍歷矩陣中的每個元素。

使用巢狀迴圈方法遍歷矩陣

巢狀迴圈方法是我們用來遍歷即訪問和處理 MATLAB 中 N 維矩陣中每個元素的最簡單方法。

下面解釋了使用巢狀迴圈方法遍歷矩陣中每個元素的分步過程。

  • 步驟 (1) - 輸入或建立 N 維矩陣。

  • 步驟 (2) - 確定矩陣的大小或維度。這可以透過使用“size()”函式來完成。

  • 步驟 (3) - 建立一個巢狀迴圈來遍歷矩陣的每個元素。

  • 步驟 (4) - 顯示迴圈迭代的結果。

示例

現在讓我們看一個示例來了解這些步驟在 MATLAB 中的實現。

% Iterate through each element in a matrix using nested loop method
% Create a sample N-dimensional matrix
mat = [2 5 9 4; 3 5 2 7; 8 4 6 1; 4 7 8 6]; 

% Determine the number of rows and columns in the matrix
[row, col] = size(mat);

% Define a nested loop to iterate through each element of the matrix
for i = 1 : row	% Iterate through rows
   for j = 1 : col	% Iterate through columns

      % Obtain the value of the current element
      e = mat(i, j);
        
      % Display the value of the current element
      fprintf('%d ', e);
   end
   fprintf('
'); % line break after printing each row end

輸出

執行此程式碼時,它將產生以下輸出 -

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

程式碼解釋

在此 MATLAB 程式碼中,我們首先建立一個示例矩陣。然後,我們使用“size”函式確定矩陣的大小。接下來,我們定義一個巢狀迴圈來遍歷矩陣的每個元素,並獲取和顯示所有元素的值。

使用向量化操作方法遍歷矩陣

在 MATLAB 中,向量化操作方法是一種比巢狀迴圈方法更有效的遍歷 N 維矩陣中每個元素的技術。

它減少了程式碼長度和複雜性,使程式碼更簡單。此外,在處理大型矩陣時,此方法速度更快且更簡潔。

下面描述了使用向量化操作方法遍歷 N 維矩陣中每個元素的分步過程。

  • 步驟 (1) - 建立一個 N 維矩陣。

  • 步驟 (2) - 使用“numel”函式確定矩陣中元素的總數。

  • 步驟 (3) - 遍歷矩陣元素的簡單“for”迴圈以獲取並顯示其值。

示例

以下是在 MATLAB 中顯示此過程實現的示例。

% Create an example N-dimensional matrix
mat = [2 5 9 4; 3 5 2 7; 8 4 6 1; 4 7 8 6]; 

% Use vectorized operations to iterate through each element of the matrix
elements_num = numel(mat);	% Number of elements in the matrix
for i = 1 : elements_num
   element = mat(i);	% Obtain the element value
    
   % Display the obtained elements
   fprintf('%d ', element);
end

輸出

執行此程式碼時,它將產生以下輸出 -

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

程式碼解釋

在此 MATLAB 程式碼中,我們首先建立一個矩陣。然後,我們使用“numel”函式確定矩陣中元素的總數。

之後,我們使用一個“for”迴圈,該迴圈遍歷矩陣的每個元素,從第一個元素到最後一個元素。

在此“for”迴圈內,我們確定索引為“i”的元素的值,並將此值儲存在變數“element”中。

之後,我們使用“fprintf”函式顯示獲取的元素值。

這就是我們如何使用向量化操作方法遍歷 N 維矩陣中的每個元素。

結論

這就是關於遍歷 MATLAB 中 N 維陣列的每個元素的所有內容。這是執行矩陣上的各種操作中涉及的重要步驟。在本教程中,我使用 MATLAB 中的示例解釋了兩種常用的遍歷矩陣中每個元素的方法。

更新於: 2023 年 10 月 6 日

712 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告