Find sum of elements in a cell along the columns
    8 views (last 30 days)
  
       Show older comments
    
    Vishakha Ramani
 on 9 Sep 2019
  
    
    
    
    
    Answered: Jacob Shulman
      
 on 9 Sep 2019
            Hi all,
I have a 3D cell A with dimensions 3x5x2. An example of elements along row 2, all columns and z dimension = 1 is:
x = A(2,:,1)
x =  [ ]    [ ]    5.1    [ ]    7.9
I would like to add up the non zero entries and get the number of non zero entries in this resulting array. I tried using:
y = sum([A(2,:,1)])
and 
y = cumsum([A(2,:,1)])
But got the following error:
"Error using sum
Invalid data type. First argument must be numeric or logical."
Could anyone please help me with this and would kindly let me know the procedure to solve such problems.
1 Comment
Accepted Answer
  James Tursa
      
      
 on 9 Sep 2019
        
      Edited: James Tursa
      
      
 on 9 Sep 2019
  
      Is this what you are trying to do? (using the curly braces)
y = sum([A{2,:,1}])
More Answers (1)
  Jacob Shulman
      
 on 9 Sep 2019
        A=cell(2,2,2)
A{2,1,1}=1;
A{2,2,1}=2;
B=0;
[rows,columns,depth]=size(A);
for i=1:rows
    for j=1:columns
        if nonzeros(A{i,j,1})
            B=B+1;
        end
    end
end
 y = sum([A{2,:,1}])
 B
 The function nonzeros will not count zeros or blanks. 
0 Comments
See Also
Categories
				Find more on Language Fundamentals 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!


