1
일부 벡터 v
의 각 (비어 있지 않은) '하위 벡터'에 대해 코드를 실행하고 싶습니다. 예 :벡터의 모든 부분 집합을 반복하십시오.
v=1:3; % [1,2,3]
Pv = subsets(v); % { [1,2,3], [1,2], [1,3], [2,3], [1], [2], [3], [] }
for s in Pv
% do things depending on each s in Pv;
end
그러나 matlab에 subsets(...)
을 모르겠습니다. 어떻게 할 수 있습니까?
나는 이것이 매우 비효율적이라는 것을 알고 있지만, 나는 능률이 아닌 교육적인 목적으로 그것을하고있다.
아이디어 : '2^length (v), length (v)'차원의 행렬을 만들고 그 길이까지 모든 이진수로 각 행을 채운 다음 행을 색인으로 사용하십시오. – enthdegree
또 다른 가능한 중복 : http://tackoverflow.com/questions/4165859/matlab-generate-all-possible-combinations-of-the-elements-of-some-vectors#4169488 – bla
모든 순열을 모든 부분 집합에 대해 반복합니다. ... – enthdegree