sum every n columns, element by element

18 visualizaciones (últimos 30 días)
Isabel Aldana Benavides
Isabel Aldana Benavides el 28 de Abr. de 2020
Comentada: Isabel Aldana Benavides el 28 de Abr. de 2020
Hello,
I have for example,
m = randi(9, [10, 12]);
otuputRow=1;
for row = 1 : size(m, 2)
theSums(:, otuputRow) = sum(m(:,row:row+2:end),2);
otuputRow = otuputRow + 1;
end
but matlab show this error: Unable to perform assignment because the size of the left side is 3-by-1 and the size of the right side is 10-by-1.
I want sum columns every 3 columns (but element by element), so, the matrix resultant should be of 10x(12/3), this is a example but really the number of steps for sum can change (every 4, or every 5 columns...)
Thanks!!

Respuesta aceptada

James Tursa
James Tursa el 28 de Abr. de 2020
m = your matrix
n = number of columns to sum
squeeze(sum(reshape(m,size(m,1),n,[]),2))

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by