sort cell arrays based on mean value

1 visualizzazione (ultimi 30 giorni)
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

Risposta accettata

Star Strider
Star Strider il 17 Lug 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}
.

Più risposte (0)

Categorie

Scopri di più su Shifting and Sorting Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by