Borrar filtros
Borrar filtros

How to calculate the cumulative value by consequetive hours

4 visualizaciones (últimos 30 días)
MJ
MJ el 20 de Mayo de 2013
Example I have these values to calculate them every 1 to 5 hours cumulative and continuous;
Data: 1 2 3 4 5 6 7 8
Answer for cumulative every 2 hours will be; 3 5 7 9 11 13 15
Answer for cumulative every 3 hours will be; 6 9 12 15 18 21
Answer for cumulative every 4 hours will be; 10 14 18 22 26
And answer for cumulative every 5 hours will be; 15 20 25 30
Thank you in advance.
  1 comentario
Jan
Jan el 22 de Mayo de 2013
Posting the inputs in valid Matlab syntax has the advantages to be clear and to be usable for suggestions by copy&paste. I cannot guess, what "answer wil be" exactly means.

Iniciar sesión para comentar.

Respuestas (2)

Teja Muppirala
Teja Muppirala el 22 de Mayo de 2013
data = [1 2 3 4 5 6 7 8];
for n = 2:5
conv(data,ones(1,n),'valid')
end
This gives me:
ans =
3 5 7 9 11 13 15
ans =
6 9 12 15 18 21
ans =
10 14 18 22 26
ans =
15 20 25 30
  1 comentario
Teja Muppirala
Teja Muppirala el 22 de Mayo de 2013
I am not sure how you plan to store/use these values, but you might make use of cell arrays to store data of unequal lengths.

Iniciar sesión para comentar.


Iain
Iain el 20 de Mayo de 2013
Where n is how many data points you want to do it for:
cumulative = cumsum(Data);
subtract = cumsum([zeros(1,n) Data(1:(end-n))]);
cumulative_n = cululative - subtract;
  2 comentarios
MJ
MJ el 22 de Mayo de 2013
I have tried but it only calculated for 1 hour cumulative. 3 6 10 15 21 28 36. How about for 2 hours and so on? That subtract doesnt work.
I use this;
n=8
data=importdata('data.txt')
cumulative = cumsum(data);
subtract = cumsum([zeros(1,n) Data(1:(end-n))]);
cumulative_n = cumulative - subtract;
Iain
Iain el 22 de Mayo de 2013
My apologies. cumulative_n = [cumulative(n) (cumulative(n+1:end)-subtract(n+1:end))];
With 8 data points, and n = 8, you will only get 1 value.

Iniciar sesión para comentar.

Categorías

Más información sobre Startup and Shutdown 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