假设我有这个矩阵:
>> 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)]
职位。 x1
和x2
可以具有任意大小。我尝试做m(x1, x2)
,但是没用...有没有办法用一个命令来实现?
答案 0 :(得分:1)
您可以获得具有线性索引的多个值,例如m([13, 6]);
要获取线性索引,请使用sub2ind(size(m), x1, x2);
,它会根据您的情况生成[13,6]。
现在只需将它们粘合在一起即可获得单线:
out = m(sub2ind(size(m), x1, x2));