2017-02-18 75 views
0
X = [2.3 4.1 1.9 5.8 6.7 7.5 9.3 15.0 1.6 3.1] 

Y = [1 1 1 1 2 2 2 3 3 3] 

兩個向量的長度相等。根據排序X排序Y

我想按值排序X,但隨後排序按那種沒有爲X.

什麼是Matlab中做到這一點最簡單的方法相同的重排Y'

回答

3
[B I]=sort(X); 
% I is the index 
Y=Y(I); 
1

在matlab中的sortrows()函數也是一個很好的解決方案。

XY = [X' Y']; 
XY = sortrows(XY,1);% sort both columns in ascending order of X values or col-1 
X = (XY(:,1))'; 
Y = (XY(:,2))';