# How to sum columns of a matrix in MATLAB in specified number of columns?

2 views (last 30 days)
parham kianian on 17 Jan 2020
Commented: parham kianian on 17 Jan 2020
I have a matrix A of size 2500*500. I want to sum each 10 columns and get the result as a matrix B of size 2500*50. that is, the first column of matrix B is the sum of first 10 columns of matrix A, the second column of matrix B is the sum of second 10 columns of matrix A and so on. Since I have too many number of matrices like A and I have to do this operation hundreds of times, it is highly time consuming to do that using for loop.
How can I do this without a for loop?

Vladimir Sovkov on 17 Jan 2020
B=squeeze( sum( reshape(A,size(A,1),10,[]) ,2) );
parham kianian on 17 Jan 2020
thank you so much Vladimir. It works well.

KSSV on 17 Jan 2020
A = rand(2500,500) ;
B = reshape(A,2500,10,[]) ;
iwant = squeeze(B,2) ;

### Categories

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

Translated by