# How to encompass a half-hour block of time?

4 views (last 30 days)
Cary on 21 Jul 2015
Edited: Nitin Khola on 23 Jul 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?
##### 0 CommentsShowHide -1 older comments

Sign in to comment.

### Accepted Answer

Nitin Khola on 23 Jul 2015
Edited: Nitin Khola on 23 Jul 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
##### 1 CommentShowHide None
Cary on 23 Jul 2015
Thanks Nitin!

Sign in to comment.

### Community Treasure Hunt

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

Start Hunting!