MATLAB Answers

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

804 views (last 30 days)
A123456
A123456 on 16 Feb 2016
Edited: Kirby Fears on 16 Feb 2016
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.

Answers (2)

Kirby Fears
Kirby Fears on 16 Feb 2016
Edited: Kirby Fears on 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.

Tags

Community Treasure Hunt

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

Start Hunting!