【问题标题】:GNU Octave: How to find n maximum elements of a vectorGNU Octave:如何找到向量的 n 个最大元素
【发布时间】:2012-12-27 19:10:22
【问题描述】:

我在 Octave 中有这样的向量:

[ 4 5 1 2 3 6 ]

是否有任何函数可以返回该向量的 n 个最大元素,在这种情况下,最大的三个是 6、5 和 4?

[6 5 4]

Octave max 函数只返回一个最大元素。我想要 n 个最大元素。

【问题讨论】:

    标签: octave vectorization max


    【解决方案1】:

    在 GNU Octave 中,获取向量的最大 n 个元素:

    octave:2> X = [3 8 2 9 4]
    octave:2> sort(X)
    
    ans =
       2   3   4   8   9
    
    octave:8> sort(X)(end-2:end)
    
    ans =
    
       4   8   9
    

    说明

    sort(X)(end-2:end) 的意思是“对向量 X 进行排序,并给我从 2 减去末尾到末尾的元素,也称为最后 3 个元素”。

    【讨论】:

    • 使用sort (X, "descend")(1:n)可能更简单
    【解决方案2】:

    您可以为此使用sort 函数。

    【讨论】:

    • 是的,它很有帮助,但我也需要最大元素的索引
    • @miremehr:sort 函数将索引作为第二个返回值返回。
    猜你喜欢
    • 2012-12-17
    • 2016-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多