B=[ 1 2 1 5 2 3 2 4 2 5 3 4 4 5 4 7 4 9 5 6 6 11 6 12 6 13 7 8 7 9 9 10 9 14 10 11 12 13 13 14];A= [1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 1 1 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1]; res=cell(1,size(A,2));for i=1:size(A,2) [row,~]=find(A(:,i)==1); res{i}=B(row,:); endresult= cellfun(@(x) unique(x),res,'UniformOutput',false);
I want to get this result={[1,2,5],[2,3,4],[1,2,4,5],[4,7,9],[1,2,4,5,6,9,10,11],[6,12,13],[1,2,4,5,6,9,13,14]}
Best Answer