Find the earliest common date and indicator of two date vectors.
古いコメントを表示
Hi,
I have got two date vectors: a=[28.02.2019;01.03.2019;04.03.2019;...] and b=[01.03.2019;04.03.2019;...]
How to find the earliest common date (=01.03.2019) and its vector index indicator (for date vector a is 2 and b is 1).
Thank you in advance for any suggestions.
採用された回答
その他の回答 (1 件)
This answer assumes you have your dates in a datetime format. If you don't it should be relatively easy to convert to it. If your release is too old to support it, please comment with what release you're using.
a=datetime([2019 2019 2019],[2 3 3],[28 1 4]);
b=datetime([2019 2019 2019],[3 3 5],[1 4 1]);
[common_dates,ind_in_a]=ismember(a,b);
common_dates=a(common_dates);
[first,a_min_ind]=min(common_dates);
a_ind=find(ind_in_a==a_min_ind);
b_ind=find(b==first);
4 件のコメント
BdS
2019 年 5 月 17 日
Rik
2019 年 5 月 17 日
For what cases doesn't this work? This code does not assume equal length of the vector. It works for most shapes that have no zero-length dimension.
Rik
2019 年 5 月 17 日
I edited my answer. It works now, but it has become messy, so I would suggest you keep using Guillaume's solution.
カテゴリ
ヘルプ センター および File Exchange で Time Series Objects についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!