フィルターのクリア

how to find repeated value in a matrix?

1 回表示 (過去 30 日間)
Pree
Pree 2015 年 8 月 19 日
コメント済み: Pree 2015 年 8 月 19 日
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,:)
Pree
Pree 2015 年 8 月 19 日
Thank you.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeDates and Time についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by