이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
루프 제어문
루프 제어문을 사용하면 코드 블록을 반복적으로 실행할 수 있습니다. 다음과 같이 두 가지 유형의 루프가 있습니다.
for
문은 특정 횟수만큼 루프를 수행하고 증분하는 인덱스 변수를 사용하여 각각의 반복을 추적합니다.예를 들어, 요소를 10개 가진 벡터를 사전할당(Preallocation)하고 5개 값을 계산합니다.
x = ones(1,10); for n = 2:6 x(n) = 2 * x(n - 1); end
while
문은 조건이 true로 유지되는 한 계속 루프를 수행합니다.예를 들어,
factorial(n)
이 처음으로 100자리 숫자가 되는 정수n
을 구할 수 있습니다.n = 1; nFactorial = 1; while nFactorial < 1e100 n = n + 1; nFactorial = nFactorial * n; end
각 루프에는 end
키워드가 필요합니다.
특히, 루프가 중첩되어 있는 경우에는(즉, 한 루프에 다른 루프가 포함되어 있는 경우) 가독성을 높이기 위해 루프를 안쪽으로 들여쓰는 것이 좋습니다.
A = zeros(5,100); for m = 1:5 for n = 1:100 A(m, n) = 1/(m + n - 1); end end
break
문을 사용하여 루프를 프로그래밍 방식으로 종료하거나 continue
문을 사용하여 루프의 다음 반복으로 건너뛸 수 있습니다. 예를 들어, magic
함수에 대한 도움말의 라인 개수(즉, 빈 라인 전까지의 모든 주석 라인 수)를 셉니다.
fid = fopen('magic.m','r'); count = 0; while ~feof(fid) line = fgetl(fid); if isempty(line) break elseif ~strncmp(line,'%',1) continue end count = count + 1; end fprintf('%d lines in MAGIC help\n',count); fclose(fid);
팁
실수로 무한 루프(즉, 자체적으로 끝나지 않는 루프)를 만든 경우 Ctrl+C를 눌러 루프의 실행을 중지합니다.