Octave / MATLAB:使用矩阵访问矩阵中没有循环的元素

时间:2018-05-04 10:22:22

标签: matlab multidimensional-array octave

考虑两个矩阵:

>> columns = [1,3,2,4]

>> WhichSet = 
       [2, 2, 1, 2;
        1, 1, 2, 1;
        1, 2, 1, 2;
        2, 1, 2, 2]

我的意图是执行以下操作

>> result = [WhichSet(1,columns(1)), WhichSet(2,columns(2)), WhichSet(3, columns(3)) and WhichSet(4, columns(4))]
result = [2,2,2,2]

没有任何循环。

1 个答案:

答案 0 :(得分:2)

由于索引的工作原理如何,除非您使用线性索引

,否则不能像现在这样插入它们。

您想要的线性指数是:

ind=sub2ind(size(WhichSet),1:size(whichSet,1),columns);

然后

out=WhichSet(ind);