是否有更清洁的方法(如理想情况下内置;我从未使用过 Matlab,如果我错过了一些明显的东西,我深表歉意)在 Matlab 中执行 k-最小 argmin 的方法(即,如果数组是 [4,5,6 ,7] 它应该按顺序返回索引 1,2) 除了像这样的东西:
arr = [4,5,6,7];
[~, argmin1] = min(arr);
arr(argmin1) = Inf;
[~, argmin2] = min(arr);
...
最佳答案
假设我们想要 k
数组 arr
中最小元素的索引,那么:
arr=[4,5,6,7,2];
[~,indices]=sort(arr,'ascend');
argmin=indices(1:k);
如果需要 k
个最高值,请改用 descend
参数。
关于matlab - Matlab 中优雅的 k-最小 argmin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36976789/