Asked by Timo
on 20 Feb 2018

Hello everybody,

I know there are some similar posts regarding the topic but I was not able to solve my problem.

I have a matrix a=53320x228 and wanted to calculate the sum in intervals of 12 for each row (f.e. sum of elements 1:12,13:24... for each row), so that my output would be a 53320x19 matrix as each row has 19*12 elements. In the past I was always able to handle similar problems with:

reshape(sum(reshape(...)))

or

sum(reshape())

But unfortunately, this time I did not recognize how it will work. Other topics related to the problem also suggest to use reshape but it doesn't produce the desired results.

Hopefully someone could help me out, I would really appreciate each hint.

Answer by Aveek Podder
on 23 Feb 2018

Accepted Answer

Hi,

I believe you want to sum the 12 consecutive columns of a Matrix and convert it to one column. Doing this Matrix a of size 53320x228 results to a 53320x19 Matrix.

You need to shape the Matrix into a 53320x12x19 Matrix. Then you have to do column summation and reshape the matrix back to 5330x19 Matrix.

Please have a look at the following code:

B = reshape(a,53320,12,19);

C = sum(B,2);

out = reshape(C,53320,19);

Hope this helps.

Answer by Danielle Torp
on 31 Oct 2018

Timo
on 31 Oct 2018

Danielle Torp
on 1 Nov 2018

Yes, the rest of the column would be blank.

Timo
on 1 Nov 2018

Sign in to comment.

Opportunities for recent engineering grads.

Apply Today
## 0 Comments

Sign in to comment.