0

说我有:

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

M(v) 给出[1 3]但我想得到 is M(1, 2)= 3。

有没有办法做到这一点?当然,我可以这样做,M(v(1), v(2))但我需要为 M 一个N维数组和v一个长度为N的向量工作。

非常感谢

4

2 回答 2

1

如果您的目标是从 M 中获取值,我将使用 M(sub2ind(size(M),v(:,1),v(:,2))) 这将很好地适用于 v 的矢量版本。

于 2013-06-05T13:42:53.433 回答
0

您可以使用 Matlab 的扩展方式cell

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

(你可以用 变换 v v_cell=num2cell(v)

于 2013-06-05T13:54:05.650 回答