How can I sort cell arrays along with vectors?

1 view (last 30 days)
I am getting very confused by all the documentation on sorting in MATLAB, so can someone please answer this very specific question?
I have a number of numeric vectors along with two associated cell arrays, ie
How can I sort them all together with the order defined by one of the numeric vectors?
  3 Comments
Stephen23
Stephen23 on 4 Jan 2024
Edited: Stephen23 on 5 Jan 2024
"How can I sort them all together with the order defined by one of the numeric vectors?"
With difficulty: having lots of separate variables makes this task much harder.
If you stored the data in one table then it would be very easy.
dormant
dormant on 5 Jan 2024
I tried using a table before, but had problems because some of the values in the numeric vectors were undefined or NaNs. I can't remember the details, but I'll look into it again.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 4 Jan 2024
[~, SortOrder] = sort(vtstring_datim_begs); %or as appropriate
s_ends = vtstring_datim_ends(SortOrder);
s_durs = vtstring_durs(SortOrder);
s_ids = vtstring_ids(SortOrder);
s_max_MLs = vtstring_max_MLs(SortOrder);
%and so on

More Answers (0)

Categories

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

Products


Release

R2023b

Community Treasure Hunt

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

Start Hunting!