sort cell arrays based on mean value

1 view (last 30 days)
Hi,
I have a 1*8 cell variable. I wanna sort these cells based on their mean values.
The mean valuse are as below:
Thanks,
Amir

Accepted Answer

Star Strider
Star Strider on 17 Jul 2021
Try something like this —
c = mat2cell(rand(150,1), [10 20 30 40 50], 1) % Create Cell ARray
c = 5×1 cell array
{10×1 double} {20×1 double} {30×1 double} {40×1 double} {50×1 double}
[cm,idx] = sort(cellfun(@mean, c)) % Calculate & Sort By Means
cm = 5×1
0.4288 0.4607 0.4721 0.5427 0.5889
idx = 5×1
5 3 4 1 2
c_sorted = c(idx) % Sorted Cell Array
c_sorted = 5×1 cell array
{50×1 double} {30×1 double} {40×1 double} {10×1 double} {20×1 double}
.

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!