sort a matrix based on a maximum value in each row
    3 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
    Amine Ben Ayara
 il 5 Feb 2016
  
    
    
    
    
    Commentato: Star Strider
      
      
 il 5 Feb 2016
            I have a matrix that I first determined the max value in each row and its row index. now I need to sort the whole matrix in descendant order based on the maximums identified from the row with the larget max to the row with smallest max. example: A=[0 1 2 1 1; 0 4 3 1 2; 1 2 0.5 3 5] ( matrix is 3*5. so first I need to identify the Max in each row and its index. so now it [2; 4; 5] then I need to reorder the matrix/ all the rows based on descendant order, so first row is the one with the highest max: SortedMatrix=[ 1 2 0.5 3 5;0 4 3 1 2;0 1 2 1 1]; any suggestions? please.
0 Commenti
Risposta accettata
  Star Strider
      
      
 il 5 Feb 2016
        This works:
A=[0 1 2 1 1; 0 4 3 1 2; 1 2 0.5 3 5];
Arowmax = max(A, [], 2);
[~,idx] = sort(Arowmax, 'descend');
SortedMatrix = A(idx,:)
SortedMatrix =
            1            2          0.5            3            5
            0            4            3            1            2
            0            1            2            1            1
2 Commenti
Più risposte (0)
Vedere anche
Categorie
				Scopri di più su Shifting and Sorting Matrices in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!