Intersect 2 arrays to find a position

1 view (last 30 days)
I have 3 vectors like these:
hour=[8 8 8 9 9 9]
Minute=[15 30 45 15 30 45]
V=[10 6 5 4 3 11]
How do I intersect the first 2 in order to find the position to extract the value from de V vector.
For example: I want to extract all values starting at 8.45h

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 2 Jun 2015
hour=[8 8 8 9 9 9]
Minute=[15 30 45 15 30 45]
V=[10 6 5 4 3 11]
s='8.45'
ii=cellfun(@str2num,strsplit(s,'.'))
id=find(hour==ii(1) & Minute==ii(2))
out=V(id:end)
  2 Comments
Jan
Jan on 2 Jun 2015
A simplification:
ii = sscanf(s, '%d.%d')
Inês Mendes
Inês Mendes on 2 Jun 2015
Thank you Azzi and Jan! You helped a lot :)

Sign in to comment.

More Answers (1)

Doug
Doug on 2 Jun 2015
I'm not sure if I'm clear on the question, but is this what you have in mind?:
V(hour+Minute/60 >= 8.75)

Community Treasure Hunt

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

Start Hunting!