Mean of cell array containing matrices

1 vue (au cours des 30 derniers jours)
alicia che
alicia che le 15 Avr 2020
Commenté : alicia che le 17 Avr 2020
Hi,
I have a 1x10 cell array, each contains a matrix of nx2 (8x2, 9x2, 6x2, 7x2, 7x2...). I would like to take the mean of each column of the matrices, and re-sort the cell array accoring to the means. I tried to use mean and cee2mat and ran into dimension problems...Thank you in advance for helping!!!

Réponse acceptée

Peng Li
Peng Li le 15 Avr 2020
Not sure what do you mean by "re-sort the cell array according to the means" as you have two means corresponding to each cell. Below example shows how to take the means and each column within a cell, and sort the cell based on the mean of the first column.
% generated a 1 by 10 cell, each with a n*2 random matrix.
% n generated randomly within 1 and 20
ind = 1:10;
testCell = arrayfun(@(x) rand(randi(20), 2), ind, 'UniformOutput', 0);
% mean of each column within cell
meanInCell = cell2mat(cellfun(@mean, testCell, 'UniformOutput', 0)');
% sort by the mean of first column
[~, indSort] = sort(meanInCell(:, 1));
sortTestCell = testCell(indSort);
  1 commentaire
alicia che
alicia che le 17 Avr 2020
Thank you so much!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Shifting and Sorting Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by