How to arrange array in new order and change position of elements in corresponding array?
19 ビュー (過去 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!