Sorting array and accessing its data
显示 更早的评论
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.
回答(2 个)
Mario Malic
2021-1-24
编辑:Mario Malic
2021-1-24
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 个评论
Amin Waqas
2021-1-24
Mario Malic
2021-1-24
Then you need X(8). If you are looking for the smallest value in your vector, use
X=[4.7955, 4.9155, 5.1647, 5.2406, 5.0180, 4.9145, 4.9905, 4.7852, 4.8335, 5.0465];
[val, pos] = min(X)
Amin Waqas
2021-1-24
Mario Malic
2021-1-24
I still don't understand, this will give you the vector sorted by I indices.
X(I)
类别
在 帮助中心 和 File Exchange 中查找有关 Shifting and Sorting Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!