Intersection(A,B) not working for date

I have A and B date vectors. I want to extract the common dates from both. I used:
[C,ia, ib]=intersection(A,B)
But it is giving me extremely few results than expected. Any solution?

 Réponse acceptée

Ingrid
Ingrid le 2 Juin 2015
you should use a round before using using intersection to avoid floats not being equal to each other. If the dates are distinguishably by day (i.e. no hours given) you could use this
[C,ia, ib]=intersection(round(A),round(B))

1 commentaire

Guillaume
Guillaume le 2 Juin 2015
Modifié(e) : Guillaume le 2 Juin 2015
This answer would be more or less correct if the OP was using date numbers. But for accuracy down to the second, I would actually multiply the date numbers by 24x3600 before rounding.
As the OP is using date vectors though, Star's answer is the correct one.

Connectez-vous pour commenter.

Plus de réponses (1)

Star Strider
Star Strider le 2 Juin 2015
Since date vectors are row vectors, use the 'rows' option with intersect:
[C,ia, ib]=intersect(A,B,'rows');

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by