A general question about intersect

1 vue (au cours des 30 derniers jours)
David McVea
David McVea le 10 Nov 2019
Commenté : David McVea le 10 Nov 2019
Hello -
I have a general question. I can provide specifics if needed.
How is it possible for
size(intersect(MyData(i),MyData))
to be not equal to
size(i)
Put another way, how can the intersect of a subset of a vector and the original vector not be the entire subset of the vector? I seem to have a case where it is and I can't understand how that can be. It seems impossible, by defintion.
Thanks.

Réponse acceptée

Walter Roberson
Walter Roberson le 10 Nov 2019
  1. Duplicates in the data. An element that occurs more than once among the MyData(i) will only result in one output
  2. Duplicates in the i values have the same effect.
  3. NaN == NaN is never true, so the results of intersect() remove all NaN
  1 commentaire
David McVea
David McVea le 10 Nov 2019
Thank you. the presence of duplicates was the reason.

Connectez-vous pour commenter.

Plus de réponses (1)

Image Analyst
Image Analyst le 10 Nov 2019
Because one element, MyData(i), does not necessarily match every single element of MyData. For example 2 will match only 1 element of this three element vector [1, 2, 3]. It matches only element #2 and does not match element #1 or element #3 so the length will be only 1, NOT 3.
  1 commentaire
David McVea
David McVea le 10 Nov 2019
Thanks for your reply - I'm not sure this is exactly what I'm asking. from your example,
length(2) is 1, and length(intersect(2,[1 2 3]) is 1. So length(MyData(i)) equals length(i)
I think you are answering how
length(intersect(MyData(i),MyData))
can be different from
length (MyData)
I'm asking how
length(intersect(MyData(i),MyData))
can be different from
length(i)
Thanks.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Tags

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by