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

2 visualizzazioni (ultimi 30 giorni)
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?

Risposta accettata

Vladimir Sovkov
Vladimir Sovkov il 17 Gen 2020
B=squeeze( sum( reshape(A,size(A,1),10,[]) ,2) );

Più risposte (1)

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

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Tag

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by