how to calculate a mean of an cell array

1 回表示 (過去 30 日間)
bay rem
bay rem 2015 年 12 月 13 日
コメント済み: Image Analyst 2015 年 12 月 13 日
  • i have a 3*6 matrix
m=[pc oc rc;
yc centroid ic;
ec uc hc]
  • where each value (pc, or...) define x,y coordonates of a pixel, then i converted this matrix to an cell array with :
c=mat2cell(m,ones(1,size(m,1)),2*ones(1,size(m,2)/2))
  • here i want to calcule a mean of this cell array:*
A=[mean(reshape(cell2mat(c), [2, 3, 3]), 3)]
  • but the result is not that one i want :(, i want to know where the problem is and how can i correct it

採用された回答

Image Analyst
Image Analyst 2015 年 12 月 13 日
Why are you using cell arrays? Why not just take the mean of m before doing any cell array stuff? Make m a 3D array instead of a cell array if you have multiple copies of m, then take the mean.
mMean = mean(m, 3)
  2 件のコメント
bay rem
bay rem 2015 年 12 月 13 日
here the 3*6 matrix:
m =
28 195 29 195 30 195
28 194 29 194 30 194
28 193 29 193 30 193
when i apply what you said here the result
mOY =
28 195 29 195 30 195
28 194 29 194 30 194
28 193 29 193 30 193
i think you mean "mMean = mean(m, 1)
Image Analyst
Image Analyst 2015 年 12 月 13 日
I wasn't really sure what numbers you wanted to include in the mean. Like if it's the mean of the rows, mean of the columns, or mean of the whole m array. I still don't know. But I know it will be easier if you avoid cells and just use regular numerical arrays, even if you have to use a third dimension.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeResizing and Reshaping Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by