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

34 views (last 30 days)
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 Comments
Azzi Abdelmalek
Azzi Abdelmalek on 4 Apr 2016
What do you mean? can you clarify what "not arbitrary sets of numbers" means, with a small example
Brando Miranda
Brando Miranda on 6 Apr 2016
Edited: Brando Miranda on 6 Apr 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.

Sign in to comment.

Answers (1)

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

Tags

Products

Community Treasure Hunt

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

Start Hunting!