how to find repeated value in a matrix?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Pree
am 19 Aug. 2015
Kommentiert: Pree
am 19 Aug. 2015
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
0 Kommentare
Akzeptierte Antwort
Azzi Abdelmalek
am 19 Aug. 2015
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 Kommentare
Azzi Abdelmalek
am 19 Aug. 2015
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,:)
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Dates and Time finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!