Sorting data points so x are in ascending order.
    13 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
I have two vectors x and y and they correspond to a given set of data points. How can I sort x in ascending order while at the same time, sorting y so that the values of y match up with their corresponding values of x?? Eg. (1,2) (3, 0) (-4, 6) (-2, 5) would yield vectors x = [1,3,-4,-2] and y = [2,0,6,5] then the sorted vectors would be x = [-4,-2,1,3] and y = [6,5,2,0].
0 Kommentare
Antworten (3)
  Jos (10584)
      
      
 am 3 Dez. 2013
        
      Bearbeitet: Jos (10584)
      
      
 am 3 Dez. 2013
  
      Use the second output of SORT
% example data
X = [1  3 -4 -2] 
Y = [2  0  6  5]
[sortedX, sortIndex] = sort(X)
sortedY = Y(sortIndex)
Another option would be via SORTROW
0 Kommentare
  Viktor
      
 am 3 Dez. 2013
        
      Bearbeitet: Viktor
      
 am 3 Dez. 2013
  
      You have a sortrows() function that you can use. Assuming you have two row vectors:
    sorted = (sortrows([x',y'], 1))'
    % reassigning sorted values
    x = sorted(1,:);
    y = sorted(2,:);
I just noticed that Jos has already mentioned, I left my answer here, it might be useful.
0 Kommentare
Siehe auch
Kategorien
				Mehr zu Shifting and Sorting Matrices finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



