我有一个二维矩阵,我希望沿着特定的行获取数据。类似于“切片”对3D矩阵的作用。有没有办法在2D矩阵上做类似的事情。
提前致谢。
答案 0 :(得分:1)
提取列或行的所有值:
>> M = magic(4)
M =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
>> particular_row = 3;
>> M(particular_row,:)
ans =
9 7 6 12
>> particular_column = 2;
>> M(:,particular_column)
ans =
2
11
7
14
沿对角线提取值:
如果我想沿着任何方向获取数据,如果沿着连接5x5矩阵的矩阵索引(1,1)到(4,4)的直线怎么办?
我将linear indexing和sub2ind
函数用于此任务。演示:
(1,1)
至(4,4)
:
>> M = magic(5)
M =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
>> M(sub2ind(size(M), 1:4, 1:4))
ans =
17 5 13 21
另一个例子:(1,2)
到(3,4)
:
M(sub2ind(size(M), 1:3, 2:4))
ans =
24 7 20