Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - 日本語 -
Справка Scilab >> Scilab > Управляющая логика > for

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 v = a, write(%io(2),v), end
for j = 1:n, v = a(:,j), write(%io(2),v), end

цикл по элементам списка :

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

Смотрите также

  • while — ключевое слово while
  • end — ключевое слово конца конструкции
  • do — ключевое слово для циклов

История

ВерсияОписание
6.0.0 Теперь for expression может быть вектором указателей на графические окна. for is now protected: Assignments like for=1 are no longer possible.
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Feb 14 15:04:47 CET 2019