阅读(964) (0)

MATLAB冒号符号

2017-08-12 15:14:30 更新

MATLAB 中可以使用 “:” 来建立矢量、下标数组和指定的迭代,是最有用的 MATLAB 运算符之一。

下述例子建立了一个包括 1~10 的一个行向量:

1:10

MATLAB执行该语句,结果返回一个行向量,包含了从1到10的整数:

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相同数量的元素。

详细例子

在 MATLAB 中建立一个脚本文件,并输入下述代码:

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