I = [2 1];
A = [7 11
8 17];
如何在没有for
循环的情况下在A中选择正确的值? I
是A
中每列的索引向量。那是I(1) is 8
和I(2) = 11
。
答案 0 :(得分:2)
使用sub2ind
根据右侧行和列坐标生成线性索引,然后使用这些索引编入A
。在这种情况下,I
选择正确的行,并且您希望从第一列到最后一列只为每列选择一个元素:
ind = sub2ind(size(A), I, 1:numel(I));
out = A(ind);
>> I = [2 1];
>> A = [7 11
8 17];
>> ind = sub2ind(size(A), I, 1:numel(I));
>> out = A(ind);
>> out
out =
8 11