how to calculate a mean of an cell array
8 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
bay rem
le 13 Déc 2015
Commenté : Image Analyst
le 13 Déc 2015
- 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
0 commentaires
Réponse acceptée
Image Analyst
le 13 Déc 2015
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 commentaires
Image Analyst
le 13 Déc 2015
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.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Resizing and Reshaping 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!