2014-11-06 5 views
0

다음 코드는 첫 번째 셀의 내용을 빗에 출력하고 bb로 정의 된 셀의 각 행에 대한 액세스를 출력합니다. 내 문제는 여기에 두 번째 및 세 번째 셀 반복되지 않습니다.다른 배열 크기로 셀을 반복하는 방법은 무엇입니까?

% input arrays 
A=[2 1 3];  
B=[4 2 1 3 3]; 
C=[1 3]; 
D=[3 2 4 2 1 1]; 
E=[4 1 1]; 

% possible subsets of a set 
combs = arrayfun(@(x) nchoosek({A,B,C,D,E},x),3:numel({A,B,C,D,E}),'Uniform',0); 

for j=1:numel(combs) 
     aa=combs{j} 
     for g=1:numel(aa)   
      bb=aa(g,:) 
     end   
end 

제 세포 배열 용 그것만 루프이 오류 메시지가 발생
인덱스 매트릭스 크기를 초과한다.

simtt1 (라인 18) BB = AA (g 오류는 :)

나는 그것을 2 셀, 3 셀에 대한 루프를 만드는 방법을 알고있다?

답변

1

gaa의 행에 색인을하기 위해 사용되므로 1 to size(aa,1)에서 반복해야합니다. 따라서, 코드에서이 편집을 -

for g=1:size(aa,1) 

그것은 외부 루프 반복자 근무 - for j=1:numel(combs), combs1D 셀 어레이 때문이다.

관련 문제