Sorting array and accessing its data

1 view (last 30 days)
Amin Waqas
Amin Waqas on 24 Jan 2021
Commented: Mario Malic on 24 Jan 2021
I have an array of 10 elements let say X=[4.7955 4.9155 5.1647 5.2406 5.0180 4.9145 4.9905 4.7852 4.8335 5.0465] after sorting it using
[B,I] = sort(X,'ascend') i easily get the index as :
I=[8 1 9 6 2 7 5 10 3 4]
My question is how to access the sorted index data for futher process for example i want to access the data at index 8.

Answers (2)

Mario Malic
Mario Malic on 24 Jan 2021
Edited: Mario Malic on 24 Jan 2021
MATLAB Onramp will get you covered on basics of MATLAB.
To get the value you asked for, use this
X(8)
The vector B holds the sorted data, so if you index into it, like this, you'll get X(8) value
B(1)
  4 Comments
Amin Waqas
Amin Waqas on 24 Jan 2021
This will give me only one value but my requirements is first to sort the values in ascending order than based on their indexing accessing their data corresponding data just like first use the data at index 8 which is 4.7852 then use the next index value data and so on
Mario Malic
Mario Malic on 24 Jan 2021
I still don't understand, this will give you the vector sorted by I indices.
X(I)

Sign in to comment.


Amin Waqas
Amin Waqas on 24 Jan 2021
Mario Malic might be i am failed to understand you my problem actually, the problem is to first sort the array then after sorting use its indexies to accessing their data just like first access the data at first sort index 8 use it then access the next sorted index and use its data so on. On your suggested solution B(1) i can definately access the data but the problem is not accessing the data using their indexies.

Categories

Find more on Shifting and Sorting Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!