p=[5 3 1 7 9 2 4 6 8]
o=[0 2 4 2 4 3 1 1 3]
I want to sort o from largest to smallest, but while sorting o, the movement position of o is also applied to the same position of p when sorting
so when aftersorted o=[4 4 3 3 2 2 1 1 0]
p will become [9 1 2 8 3 7 4 6 5]
or [1 9 8 2 7 3 6 4]
where in p the number 9 and 1 can be swap and is the same because from o there are two 4's that is in the same position as p
2 and 8 could be swap
3 and 7 can be swapped
4 and 6 can be swapped
5 cannot be swapped because only 1 number

 채택된 답변

Guillaume
Guillaume 2019년 5월 1일

0 개 추천

[newo, order] = sort(o, 'descend');
newp = p(order);

댓글 수: 2

Lucy Hannah
Lucy Hannah 2019년 5월 1일
what is newo and newp
Guillaume
Guillaume 2019년 5월 1일
편집: Guillaume 2019년 5월 1일
Your new sorted o and sorted p. You can call them whatever you want, o and p respectively if you want to replace the original vectors.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Shifting and Sorting Matrices에 대해 자세히 알아보기

태그

질문:

2019년 5월 1일

편집:

2019년 5월 1일

Community Treasure Hunt

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

Start Hunting!

Translated by