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

99 views (last 30 days)
Brando Miranda on 4 Apr 2016
Edited: Brando Miranda on 6 Apr 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 CommentsShowHide 1 older comment
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.

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.

### Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by