# Generate specific binary combination

4 views (last 30 days)
Khoa Tran on 30 Nov 2023
Commented: Khoa Tran on 30 Nov 2023
Hi guys,
I am working with binary combinations and encountering a problem with memory as the N value gets bigger. I am using this function to create my binary combinations array:
N = 4;
dec2bin(0:2^N-1) - '0'
I need to iterate each combination in the array in my calculation (i.e., iterating each row of the array at a time). Is there a way that we can generate a specific combination without having to create the whole array beforehand and use only one row at a time?
For example, 7th row in the array is [0 1 1 0]. I want to create [0 1 1 0], do the calculation, then continue to 8th row and so on.

Walter Roberson on 30 Nov 2023
N = 4;
for K = 0 : 2^N - 1
thiscombo = dec2bin(K,N);
stuff
end
Khoa Tran on 30 Nov 2023
Thanks @Walter Roberson. This is just what I need.

Chunru on 30 Nov 2023
You can put the dec2bin inside the loop so it won't be a big array.
N = 4;
for i=0:2^N-1
c = dec2bin(i, N) - '0'
end
c = 1×4
0 0 0 0
c = 1×4
0 0 0 1
c = 1×4
0 0 1 0
c = 1×4
0 0 1 1
c = 1×4
0 1 0 0
c = 1×4
0 1 0 1
c = 1×4
0 1 1 0
c = 1×4
0 1 1 1
c = 1×4
1 0 0 0
c = 1×4
1 0 0 1
c = 1×4
1 0 1 0
c = 1×4
1 0 1 1
c = 1×4
1 1 0 0
c = 1×4
1 1 0 1
c = 1×4
1 1 1 0
c = 1×4
1 1 1 1
Khoa Tran on 30 Nov 2023
Thanks @Chunru. A simple and effective solution.

### Categories

Find more on Matrices and Arrays in Help Center and File Exchange

R2023b

### Community Treasure Hunt

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

Start Hunting!