Intersect 2 arrays to find a position

3 views (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)

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!