How to sort matrix based on another matrix?

17 vues (au cours des 30 derniers jours)
K Venkatesh
K Venkatesh le 26 Août 2019
Commenté : K Venkatesh le 26 Août 2019
A=[3,2,1;8,3,1;6,4,2] and B=[5,9,2;9,2,1;8,7,4] Matrix A sort by row like A=[1,2,3;1,3,8;2,4,6] then based on A change values of B matrix like B=[2,9,5;1,9,2;4,7,8].

Réponse acceptée

Stephen23
Stephen23 le 26 Août 2019
>> A = [3,2,1;8,3,1;6,4,2]
A =
3 2 1
8 3 1
6 4 2
>> B = [5,9,2;9,2,1;8,7,4]
B =
5 9 2
9 2 1
8 7 4
>> [A,X] = sort(A,2);
>> for k = 1:size(X,2), B(k,:) = B(k,X(k,:)); end
>> A
A =
1 2 3
1 3 8
2 4 6
>> B
B =
2 9 5
1 2 9
4 7 8
  1 commentaire
K Venkatesh
K Venkatesh le 26 Août 2019
Thank you very much Stephen

Connectez-vous pour commenter.

Plus de réponses (1)

Rik
Rik le 26 Août 2019
Assuming you made a small typo in your B_out:
A=[3,2,1;8,3,1;6,4,2];
B=[5,9,2;9,2,1;8,7,4];
for row=1:size(A,1)
[A(row,:),order]=sort(A(row,:));
B(row,:)=B(row,order);
end
clc,disp(B)
  1 commentaire
K Venkatesh
K Venkatesh le 26 Août 2019
Thank you very much Rik

Connectez-vous pour commenter.

Catégories

En savoir plus sur Shifting and Sorting Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by