【发布时间】: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
我在 Octave 中有这样的向量:
[ 4 5 1 2 3 6 ]
是否有任何函数可以返回该向量的 n 个最大元素,在这种情况下,最大的三个是 6、5 和 4?
[6 5 4]
Octave max 函数只返回一个最大元素。我想要 n 个最大元素。
【问题讨论】:
标签: octave vectorization max
在 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)可能更简单
您可以为此使用sort 函数。
【讨论】:
sort 函数将索引作为第二个返回值返回。