MATLAB Answers

Sort a matrix with another matrix

74 ビュー (過去 30 日間)
Bi
Bi 2017 年 10 月 16 日
コメント済み: Andrei Bobrov 2019 年 4 月 29 日
How can I sort a matrix A with another matrix B, where the elements of B may be replicated (not in a complete sequence of 1:n with all numbers of 1,2,3,...,n-1,n)? For example,
If I have a matrix A=[5 1; 8 2; 7 3; 3 4; 2 5];
and a matrix of B=[0; 0; 2; 1; 1];
(Or a matrix of B1 where B1=[0 0; 0 0; 2 2; 1 1; 1 1];)
How can I sort A with B with answer of resultant matrix C of C=[5 1; 8 2; 2 5; 3 4; 7 3];?

  0 件のコメント

サインイン to comment.

採用された回答

Azzi Abdelmalek
Azzi Abdelmalek 2017 年 10 月 16 日
[~,id]=sort(B)
C=A(id,:)

  2 件のコメント

Paul Strickland
Paul Strickland 2018 年 7 月 27 日
What do the ~ and the id represent in this command?

サインイン to comment.

その他の回答 (1 件)

Andrei Bobrov
Andrei Bobrov 2017 年 10 月 16 日
[~,ii] = sortrows([B,A(:,1)])
C = A(ii,:)

  2 件のコメント

Evans Gyan
Evans Gyan 2019 年 4 月 29 日
Under the same problem, I would want to sort or match the vectors in A with that of B.
Thank you in advance !
A = 64.3169
49.8369
54.1163
B = 54.5211
64.1124
50.5202
so that the output will be
C = 64.1124
50.1163
54.5211
Andrei Bobrov
Andrei Bobrov 2019 年 4 月 29 日
[~,i1] = sort(A);
[~,i2] = sort(i1);
Bst = sort(B);
C = Bst(i2);

サインイン to comment.

サインイン してこの質問に回答します。


Translated by