Sum subarrays of a Matrix.
    9 views (last 30 days)
  
       Show older comments
    
    Santos García Rosado
 on 25 Feb 2021
  
Hi Mathworks community! Could someone give me a hand?
I'm having trouble trying to sum parts of the arrays of a matrix. Let's say I have the following matrix A of r rows and c columns (rxc).
A = [1,2,3,4,5,6,7,8,9; 10,11,12,13,14,15,16,17,18; 19,20,21,22,23,24,25,26,27]
And what I would like to to is to divide each array in n subarrays (n=3) and sum each of those subarrays. In this case, it would be the sum of every three positions. Getting an output suchs as:
out = [5,15,24; 33,42,51; 60,69,78]
Thank's for the help!
Santos
0 Comments
Accepted Answer
  Fangjun Jiang
      
      
 on 25 Feb 2021
        
      Edited: Fangjun Jiang
      
      
 on 25 Feb 2021
  
      One-liner
transpose(reshape(sum(reshape(A',3,[])),3,[]))
Or
transpose(cell2mat(cellfun(@sum,mat2cell(A',[3,3,3],3),'unif',0)))
2 Comments
  Fangjun Jiang
      
      
 on 25 Feb 2021
				Can this task be done using accumarray()?? accumarray always makes my head spin!
See Also
Categories
				Find more on Matrix Indexing 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!

