在Matlab中优雅的k-smallest argmin

hou*_*oft 5 matlab min

是否有一个清洁器(如在理想情况下内置;我从未使用Matlab如此遗嘱,如果我错过了一些明显的东西)在Matlab中做k最小的argmin(即如果一个数组是[4,5,6,7]它应该按顺序返回索引1,2)除了像:

arr = [4,5,6,7];
[~, argmin1] = min(arr);
arr(argmin1) = Inf;
[~, argmin2] = min(arr);
...
Run Code Online (Sandbox Code Playgroud)

Cro*_*ley 4

假设我们想要karray 中最小元素的索引arr,那么:

arr=[4,5,6,7,2];
[~,indices]=sort(arr,'ascend');
argmin=indices(1:k);
Run Code Online (Sandbox Code Playgroud)

如果想要k最高值,请改用descend参数。