MATLAB: Getting the nonzero mean of each cell element

cell arrayerrormean

Hi,
I have a cell dot_value (100×100 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."

Best Answer

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