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进行排序,然后根据对X进行排序的相同重排对Y进行排序。
在Matlab中最简单的方法是什么?
答案 0 :(得分:3)
[B I]=sort(X);
% I is the index
Y=Y(I);
答案 1 :(得分: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))';