Filter löschen
Filter löschen

How to find the K max or min values contained in a vector?

3 Ansichten (letzte 30 Tage)
Christopher
Christopher am 13 Feb. 2012
Before I attempt to write the code myself, I was wondering if a function already exists to find the k max values of a vector.
E.g. test_vec = [ 5 9 8 3 2 1 7 6]; k = 3; [max_vals, max_ids] = max_elems(test_vec, k); max_vals = [ 9 8 7] max_ids = [2 3 7]

Antworten (1)

Sean de Wolski
Sean de Wolski am 13 Feb. 2012
sort it 'descend' and extract the first k values.
  2 Kommentare
Christopher
Christopher am 13 Feb. 2012
I need the corresponding indices from the original vector per my example.
Walter Roberson
Walter Roberson am 13 Feb. 2012
[max_vals, max_ids] = sort(test_vec, 'descend');
max_vals = max_vals(1:k);
max_ids = max_ids(1:k);

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by