Matlab冒號符號


冒號(:)是MATLAB中最有用的操作符之一。它用於建立向量,下標陣列,並為疊代指定。

如果要建立一個包含從110的整數的行向量,則書寫為 -

1:10

MATLAB執行語句並返回一個包含整數的行向量,從110 -

ans =                                                       

    1    2    3    4    5    6    7    8    9   10

如果要指定一個增量值,例如 -

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