1.生成矩阵
使用冒号可以生成指定步长的元素
>> A = [1:9]
A =
1 2 3 4 5 6 7 8 9
>> B = [1:2:9]
B =
1 3 5 7 9
- A是生成的元素为1到9的向量,没用指定步长则步长为0
- B是生成的元素为1到9的奇数构成的向量,步长为2
利用冒号表达式获得子矩阵
设A为一个矩阵,则:
- A(i , : ) 表示第i行的所有元素
- A( : , j) 表示第j列的所有元素
- A(i:i+m , k:k+m) 表示第i到i+m行且在第k到k+m列的元素
- A(i:i+m , : ) 表示第i到i+m行的所有元素
>> A = [1:5;6:10;11:15]
A =
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
>> A(1,:)
ans =
1 2 3 4 5
>> A(:,3)
ans =
3
8
13
>> A(1:2,:)
ans =
1 2 3 4 5
6 7 8 9 10
>> A(1:2,3:4)
ans =
3 4
8 9
>> A(2:3,1:2:5)
ans =
6 8 10
11 13 15
注意最后一个,在求指定列的元素时指定了步长,因此只会输出指定步长的列
还可以使用end运算符来求与最后一行(列)相关的元素
>> A(end,:)
ans =
11 12 13 14 15
>> A([1,3],2:end)
ans =
2 3 4 5
12 13 14 15
第一个表示选取最后一行的所有元素
第二个表示选取第一行和第三行且从第2列到最后一列的元素
改变矩阵形状
A(:)表示将矩阵A的每一列元素堆起来构成一个列向量
>> A = [1:4;5:8]
A =
1 2 3 4
5 6 7 8
>> B = A(:)
B =
1
5
2
6
3
7
4
8
这里,A(:)等价于reshape(A,8,1)