Matlab:如何从向量v = [1,2]得到M(1,2)?

时间:2013-06-05 13:33:14

标签: matlab multidimensional-array matrix-indexing

说我有:

M = [1, 2; 3, 4]
v = [1, 2];

M(v)给出了[1 3]但我希望得到M(1, 2) = 3。

有办法吗?当然,我可以做M(v(1), v(2)),但我需要为M N - 维数组工作,v长度为 N 的向量

非常感谢

2 个答案:

答案 0 :(得分:1)

如果您的目标是从M获取值,我会使用     M(sub2ind(尺寸(M),V(:,1),V(:,2))) 这很适合v的矢量版。

答案 1 :(得分:0)

您可以使用Matlab如何扩展cell

M = [1, 2; 3, 4]
v = {1, 2}
M( v{:} )

(您可以使用v_cell=num2cell(v)转换v)