MATLAB 中可以使用 “:” 来建立矢量、下标数组和指定的迭代,是最有用的 MATLAB 运算符之一。
下述例子建立了一个包括 1~10 的一个行向量:
代码语言:javascript复制1:10
MATLAB执行该语句,结果返回一个行向量,包含了从1到10的整数:
代码语言:javascript复制ans =
1 2 3 4 5 6 7 8 9 10
如果想指定以外的一个增量值,例如:
代码语言:javascript复制100: -5: 50
MATLAB执行该语句,返回以下结果:
代码语言:javascript复制ans =
100 95 90 85 80 75 70 65 60 55 50
让我们再举一个例子:
代码语言:javascript复制0:pi/8:pi
MATLAB执行该语句,返回以下结果:
代码语言:javascript复制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 中建立一个脚本文件,并输入下述代码:
代码语言:javascript复制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
运行该文件,显示下述结果:
代码语言:javascript复制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