Getting the nonzero mean of each cell element

Hi,
I have a cell dot_value (100x100 in size), and I wanted to find the mean of each cell (but only considering the nonzero elements). Here is my attempt:
for r1 = 1:l
for r2 = 1:w
mean_value(r1,r2) = mean(nonzeros(dot_value{r1,r2}));
end
end
I don't know why it returns an error "Conversion to cell from double is not possible."

1 commentaire

James Tursa
James Tursa le 5 Avr 2018
Modifié(e) : James Tursa le 5 Avr 2018
What is the class of the dot_value elements? I.e.,
class(dot_value{1,1})
And have you pre-allocated mean_value to something?

Connectez-vous pour commenter.

 Réponse acceptée

Can you do this:
mean_value = cellfun(@(x)mean(nonzeros(x)),dot_value);

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by