在 MATLAB 中扫描每一列,无需 for 循环


I = [2 1];
A = [7 11
     8 17];

如何在没有循环的情况下在 A 中选择正确的值forIA 中每列的索引向量。那是I(1) is 8I(2) = 11.

使用 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

相关内容

最新更新