Generate specific binary combination

조회 수: 5 (최근 30일)
Khoa Tran
Khoa Tran 2023년 11월 30일
댓글: Khoa Tran 2023년 11월 30일
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.
Your inputs are much appreciated.

채택된 답변

Walter Roberson
Walter Roberson 2023년 11월 30일
N = 4;
for K = 0 : 2^N - 1
thiscombo = dec2bin(K,N);
stuff
end

추가 답변 (1개)

Chunru
Chunru 2023년 11월 30일
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
  댓글 수: 1
Khoa Tran
Khoa Tran 2023년 11월 30일
Thanks @Chunru. A simple and effective solution.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Matrices and Arrays에 대해 자세히 알아보기

제품


릴리스

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by