How does a matrix sort based on another matrix?
조회 수: 1 (최근 30일)
이전 댓글 표시
I have two matries such as
A=[2 3 1;2 1 3] and B=[0.2 0.15 0.1; 0.3 0.2 0.1]. Now I want to create a matrix which looks like C=[ 0.1 0.2 0.15; 0.2 0.3 0.1]. What actually happened here is that
B(1,1) moves to C(1,2) because of A(1,1)=2 .
B(1,2) moves to C(1,3) because of A(1,2)=3;
B(1,3) moves to C(1,1) beacause of A(1,3)=1;
B(2,1) moves to C(2,2) beacause of A(1,1)=2;
B(2,2) moves to C(2,1) beacause of A(1,2)=1;
B(2,3) moves to C(2,3) beacause of A(1,3)=3;
I used just C=B(A)..it does not make sense for me! Is there any possible solution without loop?
댓글 수: 0
채택된 답변
JESUS DAVID ARIZA ROYETH
2020년 2월 12일
편집: JESUS DAVID ARIZA ROYETH
2020년 2월 12일
Solution:
C=zeros(size(B));
C(sub2ind(size(B),repmat((1:size(B,1))',1,size(B,2)),A))=B
추가 답변 (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!