Sort values in a cell array
Ältere Kommentare anzeigen
Hi guys, It's amazing how much some people know.
Well, this is my case:
I have a vector. Suppose this:
A=[90,45,38,51];
To this vector correspond another vector. Some values may be duplicates but it is not known how many.
B=[8,1,8,3]
So, I want to sort them and set the initial values in a cell array. The result would be this:
C={[45],[51],[90,38] }
I wish I didn't have to use loop.
Thank you all for your help, especially helping me with this :)
Akzeptierte Antwort
Weitere Antworten (1)
Bruno Luong
am 21 Jul. 2022
Bearbeitet: Bruno Luong
am 21 Jul. 2022
Another method
B=[8,1,8,3];
A=[90,45,38,51];
[Bs,i]=sort(B);
mat2cell(A(i),1,diff(find([true,diff(Bs)>0,true])))
% or more compact
mat2cell(A(i),1,diff(find([1,diff(Bs),1])))
1 Kommentar
Sergio Rojas Blanco
am 21 Jul. 2022
Kategorien
Mehr zu Shifting and Sorting Matrices finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!