Effacer les filtres
Effacer les filtres

How to encompass a half-hour block of time?

1 vue (au cours des 30 derniers jours)
Cary
Cary le 21 Juil 2015
Modifié(e) : Nitin Khola le 23 Juil 2015
The code below finds the index of every timestamp at 3:30.
timeStr=cellstr(datestr(time));
timeDbl=datevec(timeStr);
times=and(timeDbl(:,4)==14,timeDbl(:,5)==30);
priceIdx=find(times);
How can I encompass/index a half hour block of time? This is what I'm trying to do.
times=and(timeDbl(:,4)==14,timeDbl(:,5)==30:59);
Any suggestions?

Réponse acceptée

Nitin Khola
Nitin Khola le 23 Juil 2015
Modifié(e) : Nitin Khola le 23 Juil 2015
As per my understanding, you wish to retrieve indices corresponding to values within a half hour interval, from a matrix which has date vectors as rows. This can be done using the "find" function, "&" logical operator, and the "and" function in a single command such as:
>> priceIdx=find(timeDbl(:,4)==9 & and(timeDbl(:,5)>30,timeDbl(:,5)<59 )) % interval of (9:30, 9:59)
I was able to retrieve row numbers containing values within the interval I specified. For example,
>> timeDbl =
2015 7 23 9 36 35
2015 7 23 9 28 39
2015 7 23 11 58 20
2015 7 23 9 56 20
>> priceIdx=find(timeDbl(:,4)==9 & and(timeDbl(:,5)>30,timeDbl(:,5)<59 )) % interval of (9:30, 9:59)
priceIdx =
1
4

Plus de réponses (0)

Catégories

En savoir plus sur Introduction to Installation and Licensing 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!

Translated by