How can i skip iterations in for loop
    조회 수: 26 (최근 30일)
  
       이전 댓글 표시
    
I need my loop to skip iterations to a given index. When i try it the obvious way like below
for i=2:1:(dim(1)-2)
%(a lot of irrelevant if statements)
    %skip through points in the same hole
    while graph(j) < tor
        j=j+1;
    end
      if j < dim(1) - 2
        i=j; % <== here is the problem
    end
end
im getting a warning "LOOP index is changed inside of a FOR loop." and program ignores my iterator override.
How can i do this properly? or work around this?
댓글 수: 0
채택된 답변
  Matt Fig
      
      
 2012년 11월 10일
        
      편집: Matt Fig
      
      
 2012년 11월 10일
  
      Why not just give up on the FOR loop and use a WHILE loop? That way you control when to increment the index the whole time! As you have found out, MATLAB won't let manipulate the loop by changing the index inside.
idx = 1;
while idx<5
  % Do stuff, check for idx condition, whatever..
  if condition
     idx = 1;  % Reset idx!  Or whatever....
  else
     idx = idx + 1;  % Increment idx
  end
end
참고 항목
카테고리
				Help Center 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


