sum every 24 rows in a vector

51 vues (au cours des 30 derniers jours)
Andrew Alkiviades
Andrew Alkiviades le 24 Sep 2012
Commenté : Mohamed Atef le 19 Jan 2019
Hi I am trying to find an output which is the sum of every 24 rows of a 8760x1 vector below as hourly_deficit. Therefore I am trying to sum rows 1:24, 25:49, 50:73 etc etc
I am trying to do this on the line below
for idx_number_panels = 1:length(number_panels) % range of PV panel units examined
for idx_number_turbines = 1:length(number_turbines) % range of wind turbine units examined
for idx_number_batteries = 1:length(number_batteries) % range of battery units examined
for h=2:8759 %# hours
hourly_deficit(idx_number_panels,idx_number_turbines,idx_number_batteries, h) = hourly_annual_demand(h) - (hourly_annual_PV(h)*number_panels(idx_number_panels)) - (hourly_annual_WT(h)*number_turbines(idx_number_turbines));

Réponse acceptée

Matt Fig
Matt Fig le 24 Sep 2012
Modifié(e) : Matt Fig le 24 Sep 2012
If A is 8760-by-1, and you want to find the sum of every 24 elements, such that you will end up with 365 sums, then do:
sum(reshape(A,24,365))
As an example you can see easier, get the sum of every two elements of a 10-by-1:
A = (1:10)'
B = reshape(A,2,5)
sum(B)
  1 commentaire
Mohamed Atef
Mohamed Atef le 19 Jan 2019
Thanks alot man

Connectez-vous pour commenter.

Plus de réponses (2)

Daniel Shub
Daniel Shub le 24 Sep 2012
Modifié(e) : Daniel Shub le 24 Sep 2012
I am not sure what all the code you posted has to do with anything ...
If I have a 8760x1 array
x = randn(8760, 1);
I can reshape it to be 24x365 with
y = reshape(x, 24, 365);
and then sum each of the 365 columns
z = sum(y);
EDIT
You could also filter the data
z = filter(ones(24, 1), 1, x);
z = z(24:24:end);

Honglei Chen
Honglei Chen le 24 Sep 2012
Modifié(e) : Honglei Chen le 24 Sep 2012
Not sure what your end format is, but the following code adds every 24 rows and retain all the results in one column
reshape(sum(reshape(x,24,[])),[],1)

Catégories

En savoir plus sur NaNs dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by