MATLAB - 冒號表示法



冒號 (:) 是 MATLAB 中最有用的運算子之一。它用於建立向量、對陣列進行下標以及指定迭代

如果要建立一個包含從 1 到 10 的整數的行向量,可以這樣寫:

1:10

MATLAB 執行該語句並返回一個包含從 1 到 10 的整數的行向量:

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

如果要指定一個與 1 不同的增量值,例如:

100: -5: 50

MATLAB 執行該語句並返回以下結果:

ans =
   100    95    90    85    80    75    70    65    60    55    50

讓我們再舉一個例子:

0:pi/8:pi

MATLAB 執行該語句並返回以下結果:

ans =
   Columns 1 through 7
      0    0.3927    0.7854    1.1781    1.5708    1.9635    2.3562
   Columns 8 through 9
      2.7489    3.1416

可以使用冒號運算子建立索引向量,以選擇陣列的行、列或元素。

下表描述了此用途(假設有一個矩陣 A):

格式 用途
A(:,j) 是 A 的第 j 列。
A(i,:) 是 A 的第 i 行。
A(:,:) 是等效的二維陣列。對於矩陣,這與 A 相同。
A(j:k) 是 A(j)、A(j+1)、…、A(k)。
A(:,j:k) 是 A(:,j)、A(:,j+1)、…、A(:,k)。
A(:,:,k) 是三維陣列 A 的第 k 頁。
A(i,j,k,:) 是四維陣列 A 中的一個向量。該向量包含 A(i,j,k,1)、A(i,j,k,2)、A(i,j,k,3) 等。
A(:) 是 A 的所有元素,視為單個列。在賦值語句的左側,A(:) 填充 A,並保留其之前的形狀。在這種情況下,右側必須包含與 A 相同數量的元素。

示例

建立一個指令碼檔案並在其中鍵入以下程式碼:

A = [1 2 3 4; 4 5 6 7; 7 8 9 10]
A(:,2)      % second column of A
A(:,2:3)    % second and third column of A
A(2:3,2:3)  % second and third rows and second and third columns

執行該檔案時,它將顯示以下結果:

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

ans =
      2
      5
      8

ans =
      2     3
      5     6
      8     9

ans =
      5     6
      8     9
廣告
© . All rights reserved.