Sort a vector according to another vector

37 ビュー (過去 30 日間)
Mohsen Rajaei
Mohsen Rajaei 2014 年 3 月 4 日
Hi
I have tow vectors A and B:
A = [4 8 5 9 1]
B = [3 5 4 2 1]
If I sort A with B like this:
C = A(B)
I will get:
C = [5 1 9 8 4]
But I want C like this:
C = [1 9 4 5 8]
How can I do that?
Thank you, M. Rajaei

採用された回答

lvn
lvn 2014 年 3 月 4 日
[~,Bsort]=sort(B); %Get the order of B
C=A(Bsort)
C =
1 9 4 5 8
  2 件のコメント
Mohsen Rajaei
Mohsen Rajaei 2014 年 3 月 4 日
OK. Thank you so much. I got it.
JONATAN RODRIGUEZ VAZQUEZ
JONATAN RODRIGUEZ VAZQUEZ 2021 年 6 月 13 日
編集済み: JONATAN RODRIGUEZ VAZQUEZ 2021 年 6 月 13 日
how can you do the same thing with n x 2 array?
I do it like this
vectors = [3 4;5 12];
modules = [5;13];
[~,modulesSort] = sort(modules); %Get the order of B
%C=A(modulesSort); %not works
% do this
vectorsSortedByModule = vectors(modulesSort,:);

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeShifting and Sorting Matrices についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by