Intersect 2 arrays to find a position

5 Ansichten (letzte 30 Tage)
Inês Mendes
Inês Mendes am 2 Jun. 2015
Kommentiert: Inês Mendes am 2 Jun. 2015
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

Akzeptierte Antwort

Azzi Abdelmalek
Azzi Abdelmalek am 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 Kommentare
Jan
Jan am 2 Jun. 2015
A simplification:
ii = sscanf(s, '%d.%d')
Inês Mendes
Inês Mendes am 2 Jun. 2015
Thank you Azzi and Jan! You helped a lot :)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Doug
Doug am 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!

Translated by