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 的第 kth 页。
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)      % A 的第二列
A(:,2:3)    % A 的第二列和第三列
A(2:3,2:3)  % 第二行和第三行以及第二列和第三列

当您运行该文件时,它会显示以下结果 −

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