t = hours(16) + minutes(meas_SPL_all(:, 2)); t.Format = 'hh:mm';
How to convert a minutes elapsed vector to time (hh:mm)?
19 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Antonio Taveira
le 7 Août 2021
Réponse apportée : Peter Perkins
le 9 Août 2021
Hi,
On a continous 24 hour measurement, I have a vector of time elapsed in minutes since the beginning (0 to 1440). I know that the starting time of the measurement is 16:00. How to create a time vector (hh:mm) for each sample? The purpose is to add the time on the x axis of a plot.
My best try is using a loop that goes through each sample, with h (hour) starting at 16 and rounds the minutes. The issue is it must detect every hour change.
Looking forward for some help :)
for i=1:length(meas_SPL_all)
meas_SPL_all(:,3) = {h:round(meas_SPL_all(i,2))}
if round(meas_SPL_all(i,2) > 60
h = h + 1
end
0 commentaires
Réponse acceptée
Plus de réponses (1)
Peter Perkins
le 9 Août 2021
"continous 24 hour measurement" sounds like you are dealing with time of day. If you add 600 minutes to hours(16), you will get
>> hours(16) + minutes(600)
ans =
duration
26 hr
which may not be what you want. If you want this to wrap to 04:00, add to an absolute time.
>> datetime(2021,8,9,16,0,0) + minutes(600)
ans =
datetime
10-Aug-2021 02:00:00
0 commentaires
Voir également
Catégories
En savoir plus sur Spectral Measurements dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!