How to find position of a time vector in another time vector?

1 view (last 30 days)
Hi
I have two time vectors, one has random time spacing like A=[' 01/01/2001', '05/01/2001, ....], the other time vector has daily time like B=[' 01/01/2001', '01/02/2001', ....]. I like to find a position of each element of A in vector B. What is the fastest way? I don't want to write a loop for find each element. is there a faster way to output a position vector directly? Thanks a lot. I appreciate your help.
  1 Comment
Jan
Jan on 12 Dec 2017
Edited: Jan on 12 Dec 2017
What exactly is a "time vector"?
A=[' 01/01/2001', '05/01/2001]
is the same as:
A = ' 01/01/200105/01/2001'
So it is not clear, what your inputs are. Does the leading space have a meaning? Is it a cell string or a datetime object?

Sign in to comment.

Accepted Answer

Jan
Jan on 12 Dec 2017
While I'm not sure what your inputs are, most likely this will solve the problem:
[ex, loc] = ismember(A, B)
  2 Comments
roudan
roudan on 12 Dec 2017
Thanks Jan. That works perfectly. I also found solution like this which has same result. idxs =arrayfun(@(x)find(B==x,1),A)

Sign in to comment.

More Answers (0)

Categories

Find more on MATLAB 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!