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

1 次查看(过去 30 天)
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 个评论
Jan
Jan 2017-12-12
编辑:Jan 2017-12-12
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?

请先登录,再进行评论。

采纳的回答

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

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by