matlab - Matlab 中优雅的 k-最小 argmin

标签 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);
...

最佳答案

假设我们想要 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/

相关文章:

mysql - 从 MySQL 数据库中按最小分数获取行

java - 再现行为 MAX_VALUE 和 MIN_VALUE

c++ - 计算最小值的最流行的方法是什么?

macos - MATLAB 遇到内部错误,需要关闭

Matlab:静态类成员

python - 如何过滤一组 (int, str) 元组,只返回第一个元素中具有最小值的元组?

math - 仅使用算术限制最小值和最大值之间的值

matlab - Matlab 求解器中的相对和绝对公差定义

matlab - 将函数作为参数传递给函数

matlab - MATLAB中乐器的 "Tone"比较