使用一个命令从矩阵获取特定点

时间:2018-06-19 13:15:10

标签: matlab matrix

假设我有这个矩阵:

>> m = magic(4)

m =

    16     2     3    13
     5    11    10     8
     9     7     6    12
     4    14    15     1

,我想访问这些位置x1 = [1;3]x2 = [4;3],我的意思是,我想要这样的结果:[13; 6][x1(1); x2(1)][x1(2); x2(2)]职位。 x1x2可以具有任意大小。我尝试做m(x1, x2),但是没用...有没有办法用一个命令来实现?

1 个答案:

答案 0 :(得分:1)

您可以获得具有线性索引的多个值,例如m([13, 6]);

要获取线性索引,请使用sub2ind(size(m), x1, x2);,它会根据您的情况生成[13,6]。

现在只需将它们粘合在一起即可获得单线:

out = m(sub2ind(size(m), x1, x2));