I need to sort the vector Codes and I need the values of vector Discharge to be ordinated according to it. I tried the function sortrows but in this case it doesn't work since in soe cases I'm not working with scalars.

6 Comments

What does it mean to sort Codes when Codes contains a mix of scalars and vectors?
How should be code 0 in row 10 be sorted relative to the 0 that is in the second element of row 3?
Name_Code = table(IDs, C, D, 'VariableNames',["Name" "Codes" "Discharge"]);
Name_Code.Codes=cellfun(@sort,Name_Code.Codes,"UniformOutput",false)
for example if I use this commands I+m able to sort the vectors in the Codes column, I would need a function that tells me how to keep the same order in the column Discharge
Use a for loop and the second output of sort.
I tried but it wasn't working
[Name_Code.Codes, Cidx] = cellfun(@sort,Name_Code.Codes,"UniformOutput",false);
Name_Code.Discharge = cellfun(@(d,idx)d(idx), Name_Code.Discharge, Cidx);
it works! huge thank you!

Sign in to comment.

 Accepted Answer

(Moving down from comment)
[Name_Code.Codes, Cidx] = cellfun(@sort,Name_Code.Codes,"UniformOutput",false);
Name_Code.Discharge = cellfun(@(d,idx)d(idx), Name_Code.Discharge, Cidx);

More Answers (0)

Categories

Find more on Operators and Elementary Operations 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!