Getting the nonzero mean of each cell element

1 view (last 30 days)
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 Comment
James Tursa
James Tursa on 5 Apr 2018
Edited: James Tursa on 5 Apr 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?

Sign in to comment.

Accepted Answer

James Tursa
James Tursa on 5 Apr 2018
Can you do this:
mean_value = cellfun(@(x)mean(nonzeros(x)),dot_value);

More Answers (0)

Categories

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