그래서 제가 벡터를 가지고 있다고합시다. 저는 [1 0]
벡터에 맞는 가능한 모든 숫자 조합을 나열하고 싶습니다 1x3
. 즉 [1 1 1] [1 1 0] [1 0 0] [0 0 0] [0 0 1] [0 1 1] [1 0 1] [0 1 0]
.
이 작업을 수행 했지만 (여기에 링크가 있습니다 ) 10 차원에서 작업을 수행 할 때 내 기능이 매우 느립니다. 를 실행 combos([1 0],10)
하면 몇 분이 걸립니다.
나는 matlab에 기본적으로 이미 그것을 수행하는 기능이 있는지 ( perms
또는 유사 nchoosek
) 또는 누군가가 내가 한 것보다 더 빠른 방법을 가지고 있는지 궁금합니다 .
이것은 0과 2 ^ n-1 사이의 이진수를 생성하는 방법을 묻는 매우 흥미로운 방법입니다 (n = 자릿수 또는 벡터 길이).
dec2bin(0:2^n-1)=='1'
MATLAB 파일 교환에서 [0,1]
사용 all_comb
하는 것보다 다른 벡터가있는보다 일반적인 경우 :
all_comb([0,1],n)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다