datenum(ye​ar,month,d​ay,hr) that returns integer

I need a datenum(year,month,day,hr) that returns an integer, where year, month, day, and hr are vectors of integers.
motivation: I am trying to do this for fast lookup of many dates in a large table, where each row contains data for an hourly sample. Therefor the output of datnum will become the indices of a sparse matrix containing the row indices of the original table of data.

 Risposta accettata

dpb
dpb il 13 Mag 2022
Wrong approach.
Instead, convert the table to a timetable; there are direct, builtin functions to return by rowtimes either individual records or those matching a time span, etc., ...

2 Commenti

Addendum -- are the table entries complete? If so, then it's simply hours(tWanted-tZero) + 1 where tWanted is the desired hour and tZero is the origin of the table using the datetime class.
Otherwise, I think the other idea is still the better solution.
awesome thanks!

Accedi per commentare.

Più risposte (0)

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by