Compute the complement of a set of indices in a known range

74 visualizaciones (últimos 30 días)
Brando Miranda
Brando Miranda el 4 de Abr. de 2016
Editada: Brando Miranda el 6 de Abr. de 2016
I want to compute the complement of a set C. The elements are indices in the range 1 to K. Is the best/fastest/simplest way to go around this is using
C = setdiff(A,B)
or since I know they are not arbitrary sets of numbers, is there a better way to go around in MATLAB?
  2 comentarios
Azzi Abdelmalek
Azzi Abdelmalek el 4 de Abr. de 2016
What do you mean? can you clarify what "not arbitrary sets of numbers" means, with a small example
Brando Miranda
Brando Miranda el 6 de Abr. de 2016
Editada: Brando Miranda el 6 de Abr. de 2016
I just have susbets from a set of indices. So A Union B is the same as 1 to K. So the sets A and B are always in a predefined set of indices 1 to K. An example would be A=[1,2,5] and B=[3,4].
But I wouldn't get as input A=[0.1, 0.2], B = [0.5] since that is not a valid index range in question.

Iniciar sesión para comentar.

Respuestas (1)

Dave Behera
Dave Behera el 6 de Abr. de 2016
Your approach with setdiff seems to be the best way because it is the simplest. I recommend you to use it.

Categorías

Más información sobre Logical en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by