MATLAB - 陣列索引



陣列定址是指訪問陣列的元素。Matlab 提供了許多訪問陣列的方法。我們可以使用索引、切片和邏輯索引從陣列中獲取元素。

陣列索引

在 Matlab 中,變數是一個包含許多數字的陣列。要訪問陣列中的任何元素,您必須使用索引。

為了更詳細地瞭解,讓我們建立一個大小為 4x3 的矩陣。

示例

A = [1 2 3; 4 5 6; 7 8 9; 10 11 12]

在 Matlab 中執行後,我們將得到以下輸出:

A =

   1     2     3
   4     5     6
   7     8     9
   10    11    12 

可以獲取陣列中的元素:

  • 透過給出行和列下標
  • 透過給出單個下標。
  • 透過使用冒號運算子以及起始:結束範圍。

透過給出行和列下標

要從陣列中獲取元素,請給出行號和列號。

例如,我想要元素 8,它位於第 3 行和第 2 列:

A = [1 2 3; 4 5 6; 7 8 9; 10 11 12]
A(3,2)

在 Matlab 中執行時,您將得到:

A =

   1     2     3
   4     5     6
   7     8     9
   10    11    12

ans = 8

透過給出單個下標

因此,從下面的矩陣中,您想要獲取元素 5,您可以透過給出單個下標來實現。

A =

   1     2     3
   4     5     6
   7     8     9
   10    11    12

獲取 5 的下標是 6。

因此,A(6) 將為您提供元素 5。讓我們在 Matlab 中檢查一下。

A = [1 2 3; 4 5 6; 7 8 9; 10 11 12]
A(6)
A =

   1     2     3
   4     5     6
   7     8     9
   10    11    12

ans = 5

透過使用冒號運算子以及起始:結束範圍

冒號是 Matlab 中最常用的運算子,表示為 (:)。它用於獲取下標陣列、向量,也用於 for 迴圈。

以下是在使用冒號 (:) 從矩陣中獲取元素時將獲得的不同結果。

語法 描述
A(:, nth) 這將顯示矩陣 A 的第 nth 列。
A(m, : ) 這將顯示矩陣 A 的第 m 行。
A(:) 這將為您提供矩陣 A 中的所有元素,形成一個單列向量。
A(i:j) 這將為您提供一個向量陣列,其中元素如下所示 [A(i), A(i+1) …. Aj]
A(:, i:j) 這將為您提供第一維的所有元素,第二維將基於 i:j 值。

讓我們檢查給定矩陣 A 的一些示例。

示例 1

此示例將從 4x3 矩陣中獲取第三列,如下所示:

A = [1 2 3; 4 5 6; 7 8 9; 10 11 12]
A(:, 3)

在 Matlab 中執行後,輸出為:

A =

   1     2     3
   4     5     6
   7     8     9
   10    11    12

ans =

    3
    6
    9
   12

示例 2

此示例將獲取矩陣 A 的第一行,如下所示:

A = [1 2 3; 4 5 6; 7 8 9; 10 11 12]
A(1,:)

在 Matlab 中執行後,輸出如下:

A =
    1     2     3
    4     5     6
    7     8     9
   10    11    12
   
ans =

   1     2     3

示例 3

讓我們將矩陣 A 中的所有元素顯示為一個單列向量,如下所示。

A = [1 2 3; 4 5 6; 7 8 9; 10 11 12]
A(:)

執行後的輸出如下:

A =
    1     2     3
    4     5     6
    7     8     9
   10    11    12

ans =
    1
    4
    7
   10
    2
    5
    8
   11
    3
    6
    9
   12

示例 4

讓我們按順序從給定範圍內獲取矩陣中的元素,例如 i、i+1 等。假設您想要從 2 到 8 的元素,A(2:8) 將返回一個行向量,如下所示。

A = [1 2 3; 4 5 6; 7 8 9; 10 11 12]
A(2:8)

執行後的輸出如下:

A =
    1     2     3
    4     5     6
    7     8     9
   10    11    12

ans =

   4     7    10     2     5     8    11

示例 5

讓我們嘗試另一個示例,其中我們需要所有行的元素以及第二維中範圍內的元素。

A = [1 2 3; 4 5 6; 7 8 9; 10 11 12]
A(:, 2:3)

執行後的輸出如下:

A =

    1     2     3
    4     5     6
    7     8     9
   10    11    12

ans =

    2     3
    5     6
    8     9
   11    12
廣告

© . All rights reserved.