How do I find the number of hours?
Afficher commentaires plus anciens
Hello,
I have a matrix A with dimensions 35000X1 (datetime). There are hours in matrix A.
For example, 01:00, 05:00, 17:00, 23:00, 05:00, 09:00, ....
How can I find the number of each hour in matrix A. That is, how many hours are there that correspond to 00:00, 01:00,02:00,03:00, .... 21:00,22:00,23:00. Your help is important.
Réponse acceptée
Plus de réponses (2)
Mudit Chaturvedi
le 21 Juil 2021
Hi!
I understand you are trying to find the frequency of each element in a matrix.
You can use unique() function to get the unique elements and then calculate their frequency using histc or histcounts function
a = unique(A);
sol = [a,histc(A(:),a)];
stelios loizidis
le 21 Juil 2021
0 votes
4 commentaires
Steven Lord
le 21 Juil 2021
See timeSinceMidnight in my answer above.
stelios loizidis
le 21 Juil 2021
Use a vector of bin edges.
dt = datetime('now') + hours(24*rand(10, 1))
timeSinceMidnight = dt - dateshift(dt, 'start', 'day')
histogram(timeSinceMidnight, hours(0:24))
xticks(hours(0:24))
You might want to only display every other tick or change the Format property of the duration array that you pass into xticks.
stelios loizidis
le 22 Juil 2021
Catégories
En savoir plus sur Resizing and Reshaping Matrices 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!


