Mean of cell array containing matrices
    7 views (last 30 days)
  
       Show older comments
    
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!!!
0 Comments
Accepted Answer
  Peng Li
      
 on 15 Apr 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);
More Answers (0)
See Also
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!
