Clear Filters
Clear Filters

Averaging multiple cells together

19 views (last 30 days)
AJ
AJ on 26 Oct 2012
I apologize if this is a simple question, but I was wondering if there was a way to create a new cell that contained the average of the numeric values of multiple other cells so that the numeric values were only averaged with other values in the same location across the cells (for example 5 found in row 1 column 2 in cell 1 will only be averaged with other numbers in other cells that are in row 1 column 2). If it helps, I have 5 cells that each have parameters of 3000x4. Thank you.
  2 Comments
Matt J
Matt J on 26 Oct 2012
Edited: Matt J on 26 Oct 2012
If the parameter matrices are all the same size (3000x4), why are you holding them in cells? Why not as a 3000x4x5 array? This would make the operations you're trying to do trivially easy (see my further comments below).
Image Analyst
Image Analyst on 26 Oct 2012
Excellent point. Never mess around with cell arrays when you don't have to - they always add a layer of complications, e.g. do I use parentheses of braces, etc.

Sign in to comment.

Accepted Answer

Matt J
Matt J on 26 Oct 2012
avgCell = {mean(cat(3,yourcell{:}),3)}
  1 Comment
Matt J
Matt J on 26 Oct 2012
If you had held this as a 3000x4x5 array, A, this would have been as simple as
avg=mean(A,3);

Sign in to comment.

More Answers (0)

Categories

Find more on Cell Arrays 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!