for
ключевое слово для циклов
Синтаксис
for variable=expression instruction; instruction; ... instruction; end for variable=expression do instruction; instruction; ... instruction; end
Аргументы
- variable
переменная, по которой ведётся цикл;
- expression
выражение, описывающее закон изменения переменной
variable
в заданных пределах; может быть вектором, матрицей, списком;- instruction
любые корректные инструкции Scilab.
- do
ключевое слово, отделяющее блок определения переменной цикла
variable
от блока инструкцийinstruction
Описание
Используется для организации циклов по заданной переменной variable
.
Изменение переменной цикла variable
описывается выражением expression
,
однако, в качестве expression
может выступать вектор или матрица. В этом случае переменная
variable
последовательно от итерации к итерации принимает значения элементов
вектора/матрицы от первого до последнего, столбец за столбцом.
Оператор двоеточие colon используется для создания вектор-столбцов с регулярным
шагом между элементами и похож на традиционные циклы for
:
for variable=n1:step:n2 instruction; ... instruction; end
Если expression
является списком, то variable
принимает значения списка одно за другим.
В соответствии с договорённостями по написанию кода в Scilab рекомендуется:
начинать новую инструкцию на новой строке;
писать не более одной простой инструкции на одной строке;
разбивать составные инструкции на множество строк.
Например, используйте:
for i = 1:5 disp(i); end
for i = 1:5, disp(i); end
Предупреждение: число символов, используемых для определения тела любой инструкции условия
( if while for или select/case ) должно быть ограничено
16К. |
Примеры
"традиционный" для циклов :
n=5; for i = 1:n for j = 1:n a(i,j) = 1/(i+j-1); end; end for j = 2:n-1 a(j,j) = j; end; a
циклы с уменьшающейся переменной цикла :
for j = 4:-1:1 j end
цикл по столбцам матрицы :
M = [1 2 ; 3 4 ; 5 6]' for c = M, c, end
-> M = [1 2 ; 3 4 ; 5 6]' M = 1. 3. 5. 2. 4. 6. --> for c = M, c, end c = 1. 2. c = 3. 4. c = 5. 6.
цикл по элементам списка :
for l = list([1 2;3 4], (1+%z)^3, 'example', [%F %T]); l, end
--> for l = list([1 2;3 4], (1+%z)^3, 'example', [%F %T]); l, end l = 1. 2. 3. 4. l = 2 3 1 +3z +3z +z l = example l = F T
Смотрите также
История
Версия | Описание |
6.0.0 | Теперь for expression может быть вектором указателей на графические окна.
for is now protected:
Assignments like for=1 are no longer possible. |
Report an issue | ||
<< end | Управляющая логика | halt >> |