Azzera filtri
Azzera filtri

how can I sort an array of elements corresponding to another array of elements in decreasing order?

247 visualizzazioni (ultimi 30 giorni)
A = [0.4049 0.1354 0.0914 0.0578 0.0634 0.0494 0.0494 0.0494 0.0494 0.0494]
B = [1 2 3 4 5 6 7 8 9 10]
So 0.4049 corresponds to 1, 0.1354 corresponds to 2, 0.0914 corresponds to 3 etc. I want A to be sorted in decreasing order and B to be in the order that A has come out in. Sorry I don't know if that is clear.
Thanks in advance.

Risposte (2)

Kirby Fears
Kirby Fears il 16 Feb 2016
Modificato: Kirby Fears il 16 Feb 2016
Try this out:
% sort A in descending order (decreasing A values)
% and keep the sort index in "sortIdx"
[A,sortIdx] = sort(A,'descend');
% sort B using the sorting index
B = B(sortIdx);
Try consulting the documentation for sort if you have other questions along these lines.
Hope this helps.

dpb
dpb il 16 Feb 2016
[A,idx]=sort(A,'descend');
B=B(idx);
doc sort % for details

Categorie

Scopri di più su Shifting and Sorting Matrices in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by