# How do I find the number of hours?

7 views (last 30 days)
stelios loizidis on 21 Jul 2021
Commented: stelios loizidis on 22 Jul 2021
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.

Steven Lord on 21 Jul 2021
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, ....
Are these a datetime array or a duration array?
12:05
thisIsADuration = duration(12, 5, 0, 'Format', 'hh:mm')
12:05
These are not the same, despite looking the same. The thisIsADatetime array has a date associated with it, while thisIsADuration does not. If it's a datetime array you probably want to calculate the time since midnight and compute histcounts on the resulting duration array.
dt = datetime('now') + days(randi([-2 2], 10, 1)) + hours(2*randn(10, 1))
dt = 10×1 datetime array
23-Jul-2021 11:09:17 20-Jul-2021 08:23:33 22-Jul-2021 12:42:30 21-Jul-2021 12:43:33 19-Jul-2021 14:33:25 21-Jul-2021 13:13:11 20-Jul-2021 12:20:07 19-Jul-2021 11:25:52 23-Jul-2021 13:16:16 20-Jul-2021 11:35:16
timeSinceMidnight = dt - dateshift(dt, 'start', 'day')
timeSinceMidnight = 10×1 duration array
11:09:17 08:23:33 12:42:30 12:43:33 14:33:25 13:13:11 12:20:07 11:25:52 13:16:16 11:35:16
These two histogram plots look very different, since one is binning by hours and one by days.
histogram(timeSinceMidnight, 6)
histogram(dt, 6)

Mudit Chaturvedi on 21 Jul 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 on 21 Jul 2021
Another question I have is if I have table A but the available data are as follows: 1/2/2014 01:00, 4/5/2014 05:00, 6/8/2014 16:00,... How can I calculate the frequency that the hours appear regardless of the date.
stelios loizidis on 22 Jul 2021
Thanks for the valuable help !!!!