Sum of elements per hour
Afficher commentaires plus anciens
Hello,
Please help me with the following:
consider a matrix M=
[
1-Oct-13 0 2
1-Oct-13 0 6
1-Oct-13 1 2
1-Oct-13 1 6
1-Oct-13 1 6
1-Oct-13 2 2
1-Oct-13 2 0
1-Oct-13 3 2
2-Oct-13 0 1
2-Oct-13 0 1
2-Oct-13 0 3
2-Oct-13 1 4 ...
];
The first column refers to the dates. The second column refers to the hours. The third column refers to some values that are measured per hour.
Note that the matrix have multiple entries per hour and the number of data entries per hour differs.
I need to find the sum per hour of the third column.
For example, for the first day hour=1 has 3 values, hour=2 has 2 values, etc.
The final matrix should have the following form:
N=[ 1-Oct-13 0 8
1-Oct-13 1 14
1-Oct-13 2 2
1-Oct-13 3 2
...
1-Oct-13 24 ...
2-Oct-13 0 3
2-Oct-13 1 4
... ];
If N cannot contains the dates that`s ok, I need only the sums per hour.
Thank you very much.
Best,
Pavlos
1 commentaire
Rik
le 17 Mai 2017
You can use calls to unique and find to fill a loop, but I imagine there are better solutions. You could also try to use diff to find out which rows are from the same date and hour.
Just some thoughts. Good luck.
Réponse acceptée
Plus de réponses (1)
Santhana Raj
le 17 Mai 2017
try this:
sum(M(find(M(:,1)=='1-Oct-13' & M(:,2)==1),3))
Repeat this in a for loop, and you can generate N.
Catégories
En savoir plus sur Time Series Objects dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!