How to arrange array in new order and change position of elements in corresponding array?
24 次查看(过去 30 天)
显示 更早的评论
Hi, in my program I have an array d, which is 100x1 and I have another 100x1 array e, that corresponds to d. I would like help to sort d in ascending order (d=sort(d);) and also change the positions of the elements in e such that the result still corresponds to the element positions in d. For instance if the smallest value in d is the fourth element it becomes the first element in d and the forth element in e changes position with the first element. Thanks.
0 个评论
采纳的回答
Guillaume
2015-4-17
Use the second return value of sort to reorder your e array.
[d, order] = sort(d);
e = e(order);
更多回答(1 个)
Star Strider
2015-4-17
You can simply sort ‘e’ as well:
d = sort(d);
e = sort(e);
This assumes of course that all of the elements of ‘d’ are greater than zero.
2 个评论
Star Strider
2015-4-17
The easiest way is to do whatever operation created ‘f’ on the elements of sorted vector ‘d’.
另请参阅
类别
在 Help Center 和 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!