С циклом проверяют утверждения, можно неоднократно выполнять блок кода. Существует два типа циклов:
for операторы циклично выполняют определенное число раз и отслеживают каждую итерацию с постепенно увеличивающейся индексной переменной.
Например, предварительно выделите вектор с 10 элементами и вычислите пять значений:
x = ones(1,10);
for n = 2:6
x(n) = 2 * x(n - 1);
endwhile цикл операторов пока условие остается верным.
Например, найдите первый целочисленный n для которого factorial(n) 100-разрядный номер:
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Можно программно выйти из цикла с помощью a break оператор или пропуск к следующей итерации цикла с помощью a 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.