sorting a vector by another vector

51 Ansichten (letzte 30 Tage)
fima v
fima v am 14 Mär. 2017
Bearbeitet: Rik am 14 Mär. 2017
Hello , my X vector looks like this 12,13,14,15,16,17,18,2,3,4,5,6,7,8,9,10,11 my Y vector looks like 2.6926,0.2879,1.93,-0.631,0.041,0.007,-0.077,-4.55,-3.984,-0.604,0.13,-0.49,-1.67,-2.276,-0.641,0.524,1.5758
how can i sort the X vector in ascending order so Y values will stay on the same indexes of the X vector as before
so if for example in Vector X before sorting, X(1)=12 Y(1)=2.6926 , then after the sorting the values will stay on the same index and X(11)=12 Y(11)=2.6926.
Thanks

Antworten (2)

ES
ES am 14 Mär. 2017
doc sort
do a sort on X. sort gives two outputs, the sorted array and the index for sorting.
Using the index for sorting, sort Y.
[Z,I] = sort(X);
Y(I)% Output required by you

Rik
Rik am 14 Mär. 2017
Bearbeitet: Rik am 14 Mär. 2017
You can use the second output of the sort function to get the indices. Type doc sort for more information and options.
[X,order]=sort(X);
Y=Y(order);

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!

Translated by