How do I sort data based on another variable?

29 Ansichten (letzte 30 Tage)
Shayma Al Ali
Shayma Al Ali am 16 Sep. 2021
Kommentiert: John D'Errico am 16 Sep. 2021
One variable, b_dp, is dependent on another variable, b_lat which is the latitude the data b_dp was taken at. I know they are not the same size at the moment but it's because I didn't update the code yet. I want to compare b_dp with sst but I currently cannot because sst variable is ordered by latitude (so -90 to 90 for example) while b_dp is ordered based on the time the sample was taken. I want to order b_lat from smallest to largest so it's similar to the sst data. However, how do I then order b_dp in a similar way? I will attach the data here so you can get an idea. I don't have any sample code because I don't even know where to begin.
  1 Kommentar
John D'Errico
John D'Errico am 16 Sep. 2021
If they are not the same size, then a sort of one based on the other is meaningless. So until you resolve that problem and clean up your data, then you can do nothing.
Once you have done so, then use the answer Adam gave you.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Adam Danz
Adam Danz am 16 Sep. 2021
If and only if two vectors have the same number of elements, you can sort vector b according to the sorted vector a using,
[aSorted, aIdx] = sort(a);
bSorted = b(aIdx);

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