Сочетания строк в Matlab?

У меня есть матрица W в Matlab измерения nx2 и я хотел бы составить список 2x1 список ячеек в ячейке 1 возможная комбинация рядов W взятый k в то время и в камере 2 левые ряды W,

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]}];

1 ответ

Попробуйте этот метод

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
Другие вопросы по тегам