Циклы типа for...end
Циклы типа for...end обычно используются для организации вычислений с заданным числом повторяющихся циклов. Конструкция такого цикла имеет следующий вид:
for vаг=Выражение. Инструкция. .... Инструкция end
Выражение чаще всего записывается в виде s:d:e, где s — начальное значение переменной цикла var, d — приращение этой переменной и е — конечное значение управляющей переменной, при достижении которого цикл завершается. Возможна и запись в виде s :е (в этом случае d=l). Список выполняемых в цикле инструкций завершается оператором end.
Следующие примеры поясняют применение цикла для получения квадратов значений переменной цикла:
» for 1=1:5 i^2. end;
ans =
1
ans =
4
ans =
9
ans =
16
ans =
25
» for x=0:.25:1 Х ^ 2, end:
ans =
0
ans =
0.0625
ans =
0.2500
ans =
0.5625
ans =
1
Оператор continue передает управление в следующую итерацию цикла, пропуская операторы, которые записаны за ним, причем во вложенном цикле он передает управление на следующую итерацию основного цикла. Оператор break может использоваться для досрочного прерывания выполнения цикла. Как только он встречается в программе, цикл прерывается. Возможны вложенные циклы, например:
for i=1:3
for j=l:3
A(1.j)=i+j;
end
end
В результате выполнения этого цикла (файл for2.m) формируется матрица А:
» for2
» А
А =
2 3 4
3 4 5
4 5 6
»
Следует отметить, что формирование матриц с помощью оператора : (двоеточие) обычно занимает намного меньше времени, чем с помощью цикла. Однако применение цикла нередко оказывается более наглядным и понятным. MATLAB допускает использование в качестве переменной цикла массива А размера тхп. При этом цикл выполняется столько раз, сколько столбцов в массиве А, и на каждом шаге переменная var представляет собой вектор, соответствующий текущему столбцу массива А:
» А=[1 2 3:4 5 6]
А =
1 2 3
4 5 6
» for var=A; var, end
var =
1
4
var =
2
5
var=
3
6