Sum of columns with certain window

1 visualizzazione (ultimi 30 giorni)
Miroslav Josic
Miroslav Josic il 30 Gen 2017
Commentato: Miroslav Josic il 30 Gen 2017
Hi guys
I need your help with summing columns based on certain window as I could not find a solution already discussed. I have a matrix of size 2,159x372 where in every 6 columns I have specific industry data for one country (total of 62 countries). So, I would like to sum columns 1-6, 7-12, 13-19 etc in order to get only country data in columns. It means I would have in the end a matrix of size 2,159x62.
I guess I have to use for loop but I am just not clear how to set the window.
Miroslav

Risposta accettata

Jan
Jan il 30 Gen 2017
Modificato: Jan il 30 Gen 2017
Data = rand(2159, 372);
Data = reshape(Data, 2159, 6, 62);
Result = reshape(sum(Data, 2), 2159, 62);
This splits the 2nd dimension after all 6 elements shifting the rest to the 3rd dimension. After calculating the sum, the inserted dimension is removed again. squeeze(sum(Data, 2)) would be an option also.
  1 Commento
Miroslav Josic
Miroslav Josic il 30 Gen 2017
Hi Jan,
Thank you very much! It works perfectly.
I thought a loop should be used, but was wrong.
Appreciate your help a lot!

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by