第二章 矩阵和数组及其运算
第三节 子矩阵的提取
利用冒号表达式提取子矩阵的方法:
1)A(:, j)表示A矩阵第j列所有行的元素;A(i,:)表示A矩阵第i行所有列的元素。
2)A(i:i+m,:)表示A矩阵第i~i+m行的全部元素;A(:,k:k+m)表示A矩阵第k~k+m列的全部元素;A(i:i+m,k:k+m)表示A矩阵第i~i+m行内、并且是第k~k+m列中的全部元素。
例2-2 已知5行4列矩阵A=[1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16;17 18 19 20],提取子矩阵。
A=[1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16;17 18 19 20]
A1=A(:,3)
A2=A(2,:)
A3=A(2:3,:)
A4=A(1:3,3:4)
A5=A(2:3,2:4)
运算结果
A =
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
17 18 19 20
A1 = % 第3列所有行的元素
3
7
11
15
19
A2 = % 第2行所有列的元素
5 6 7 8
A3 = % 第2~3行所有列的元素
5 6 7 8
9 10 11 12
A4 = % 第1~3行且是第3~4列的元素
3 4
7 8
11 12
A5 = % 第2~3行且是第2~4列的元素
6 7 8
10 11 12
说明:可以利用end运算符表示矩阵的下标。例如,对于上述A矩阵,提取最后1行所有列的元素。
>> A=[1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16;17 18 19 20];
A6=A(end,:)
A6 =
17 18 19 20
1)A(:, j)表示A矩阵第j列所有行的元素;A(i,:)表示A矩阵第i行所有列的元素。
2)A(i:i+m,:)表示A矩阵第i~i+m行的全部元素;A(:,k:k+m)表示A矩阵第k~k+m列的全部元素;A(i:i+m,k:k+m)表示A矩阵第i~i+m行内、并且是第k~k+m列中的全部元素。
例2-2 已知5行4列矩阵A=[1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16;17 18 19 20],提取子矩阵。
A=[1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16;17 18 19 20]
A1=A(:,3)
A2=A(2,:)
A3=A(2:3,:)
A4=A(1:3,3:4)
A5=A(2:3,2:4)
运算结果
A =
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
17 18 19 20
A1 = % 第3列所有行的元素
3
7
11
15
19
A2 = % 第2行所有列的元素
5 6 7 8
A3 = % 第2~3行所有列的元素
5 6 7 8
9 10 11 12
A4 = % 第1~3行且是第3~4列的元素
3 4
7 8
11 12
A5 = % 第2~3行且是第2~4列的元素
6 7 8
10 11 12
说明:可以利用end运算符表示矩阵的下标。例如,对于上述A矩阵,提取最后1行所有列的元素。
>> A=[1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16;17 18 19 20];
A6=A(end,:)
A6 =
17 18 19 20