how to find repeated value in a matrix?

1 次查看(过去 30 天)
I have two date vectors calculated using datevec. let's say u=[10 25; 10 26; 10 27; 10 28; 10 29; 10 30; 11 0; 11 1; 11 2]; v=[10 26; 10 27; 10 28; 10 29; 11 0; 11 0; 11 2];
So I want to match same dates in u and v and save the matched dates in a different vector. I used this syntax:
find_same_dates=ismember(u,v,'rows'); row_number=find(find_same_dates==1); matched_dates=u(row_number,:); matched_dates=[10 26; 10 27; 10 28; 10 29; 11 0; 11 2];
What should I do instead if I want matched_dates to have repeated values. for example, matched_dates=[10 26; 10 27; 10 28; 10 29; 11 0; 11 0; 11 2];
'ismember' syntax doesn't match the repeated rows

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2015-8-19
That depends on how you use ismember, you have also to specify if you are looking for dates in u or in v
u=[10 25; 10 26; 10 27; 10 28; 10 29; 10 30; 11 0; 11 1; 11 2];
v=[10 26; 10 27; 10 28; 10 29; 11 0; 11 0; 11 2]
find_same_dates=ismember(v,u,'rows');
matched_dates=v(find_same_dates,:)
  3 个评论
Azzi Abdelmalek
Azzi Abdelmalek 2015-8-19
u=[10 25; 10 26; 10 27; 10 28; 10 29; 10 30; 11 0; 11 1; 11 2];
v=[10 26; 10 27; 10 28; 10 29; 11 0; 11 0; 11 2;45 45]
idu=ismember(u,v,'rows');
b=u(idu,:)
idv=ismember(v,b,'rows')
out=v(idv,:)

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Dates and Time 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by