2016-06-24 2 views
1

난 차원 nx2의 매트랩 행렬 W가 나는 에게 셀 1W 좌측 행이 한번에 세포 2k 촬영 W 행의 가능한 조합을 나열 2x1 셀 목록을 구축하고 싶다.Matlab의 행 조합?

Example: 

n=9; 

W=[0 1; 0 2; 0 3; 0 4; 0 5; 1 6; 2 6; 3 6]; 

k=1; 

W_1=[{[0 1]}; {[0 2; 0 3; 0 4; 0 5; 1 6; 2 6; 3 6]}]; 
W_2=[{[0 2]}; {[0 1; 0 3; 0 4; 0 5; 1 6; 2 6; 3 6]}]; 
W_3=[{[0 3]}; {[0 1; 0 2; 0 4; 0 5; 1 6; 2 6; 3 6]}]; 
W_4=[{[0 4]}; {[0 1; 0 2; 0 3; 0 5; 1 6; 2 6; 3 6]}]; 
W_5=[{[0 5]}; {[0 1; 0 2; 0 3; 0 4; 1 6; 2 6; 3 6]}]; 
W_6=[{[1 6]}; {[0 1; 0 2; 0 3; 0 4; 0 5; 2 6; 3 6]}]; 
W_7=[{[2 6]}; {[0 1; 0 2; 0 3; 0 4; 0 5; 1 6; 3 6]}]; 
W_8=[{[3 6]}; {[0 1; 0 2; 0 3; 0 4; 0 5; 1 6; 2 6]}]; 

답변

0

이 방법을 시도

cell1 = {}; 
W=[0 1; 0 2; 0 3; 0 4; 0 5; 1 6; 2 6; 3 6]; 
b = (1:size(W,1)).' 
for i= 1:size(W,1) 
    cell1{end +1}= [ {W(ismember(b,i),:)}, {W(~ismember(b,i),:)}] 
end 
cell1 = 

    {1x2 cell} {1x2 cell} {1x2 cell} {1x2 cell} {1x2 cell} {1x2 cell} {1x2 cell} {1x2 cell} 

>> cell1{1, 2}{1,1} 

ans = 

0  2 

>> cell1{1, 2}{1,2} 

ans = 

    0  1 
    0  3 
    0  4 
    0  5 
    1  6 
    2  6 
    3  6