Rearranging a Vector Back Again
조회 수: 5 (최근 30일)
이전 댓글 표시
Hello,
I have a vector x:
x =
0 0 1 1 0 1 0 0 1 1
I want arranged having zeros first then ones, so I used this: [x,indices]=sort(x,2)
x =
0 0 0 0 0 1 1 1 1 1
indices =
1 2 5 7 8 3 4 6 9 10
The indices vector is for me to know where each number was displaced from its orignial position to, however, after I finished using the modified x, I would like to rearrange it as its old form again using indices vector, how can I do that?
I used this but it didn't work: sort(indices); x=x(indices)
x =
0 0 0 1 1 0 0 1 1 1
댓글 수: 0
채택된 답변
the cyclist
2018년 12월 1일
편집: the cyclist
2018년 12월 1일
% Original x
x = [0 0 1 1 0 1 0 0 1 1];
% Sorted x
[x_sorted,indices]=sort(x,2);
% Original x recovered from the sorted one
x_redux(indices) = x_sorted
I renamed the variables so that you would not get confused by which x was which.
추가 답변 (0개)
참고 항목
카테고리
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!