Reordering column so the values match an already reordered column

1 view (last 30 days)
Hi, I created a column of serial date numbers from three separate columns and then sorted the serial date numbers in ascending order to plot pCO2 according to serial date number.
DateNumber = datenum[yr, mon, day]
DateNumber2=sort(DateNumber)
scatter(DateNumber, fCO2)
I have a separate column of pH data (fCO2) that matches up with the non-sorted serial date numbers but not the sorted serial date numbers. Is there a way to sort the pH data so that the pH values match with the ascending serial date number values so I can bin the pH values according to month?

Accepted Answer

Star Strider
Star Strider on 27 May 2020
I am not certain what you want to do.
Note that the sort function has two outputs, the first being the sorted values and the second being the original indices of those values. One option is to use the second output as an index into the unsorted array.
Another option is to use the intersect function (with additional index outputs) to identify the matching dates in the ‘fCO2’ data with the ‘pH’ data. Then index them appropriately to get the result you want.
  3 Comments
Moey Rojas
Moey Rojas on 27 May 2020
Great, thank you all so much. I didn't know what indexing was (VERY new to MATLAB), these answers helped a ton.
Star Strider
Star Strider on 27 May 2020
Moey Rojas — As always, my pleasure!
Mohammad Sami — Thank you for providing an example.

Sign in to comment.

More Answers (0)

Categories

Find more on Shifting and Sorting Matrices in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!