while, end_while, _while“в то время как” цикл
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.
Для цикла с условием продолжения в MATLAB® смотрите while.
whileconditiondobodyend_while _while(condition,body)
while - end_while представляет цикл, который оценивает его тело, в то время как заданное условие сохраняется.
В while цикл, condition оценен, прежде чем тело выполняется впервые. Если condition оценивает к TRUE, цикл вводится и body и condition оценены до condition оценивает к FALSE.
Тело может состоять из любого количества операторов, которые должны быть разделены любой двоеточием : или точка с запятой ;. Только последний оцененный результат в теле (возвращаемое значение цикла) распечатан на экране. Используйте print видеть промежуточные результаты.
Булево выражение condition должно быть приводимо к любому TRUE или FALSE. Внутренне, условие оценено в контексте отложенных вычислений функций _lazy_and и _lazy_or.
Операторы next и break может использоваться в while циклы таким же образом как в for циклы.
Ключевое слово end_while может быть заменен ключевым словом end.
Обязательная форма while - end_while эквивалентно соответствующему вызову функционального _while. В большинстве случаев обязательная форма приводит к более простому коду.
$ оператор часто является более изящным обозначением циклы for.
_while функция системного ядра.
while циклы не показывают промежуточные результаты операторов в цикле:
i := 1: s := 0: while i < 3 do s := s + i; i := i + 1; end_while
![]()
Используйте print видеть промежуточные результаты:
i := 1:
s := 0:
while i < 3 do
print("intermediate sum" = s);
s := s + i;
i := i + 1;
s
end_while![]()
![]()
![]()
delete i, s:
Выразите те же операторы как repeat цикл и как эквивалентный while цикл. В более сложных случаях вам могут быть нужны дополнительные инициализации переменных:
i := 1: repeat print(i); i := i + 1; until i = 3 end:
![]()
![]()
i := 1: while i < 3 do print(i); i := i + 1; end:
![]()
![]()
delete i:
Булево выражение condition должен оценить к TRUE или FALSE:
condition := UNKNOWN: while not condition do print(Condition = condition); condition := TRUE; end_while:
Error: 'TRUE' or 'FALSE' expected. [while]
Чтобы избежать этой ошибки, измените останавливающийся критерий в condition <> TRUE:
condition := UNKNOWN: while condition <> TRUE do print(Condition = condition); condition := TRUE; end_while:
![]()
delete condition:
Также можно создать while цикл при помощи функциональной формы _while:
hold(_while(condition, (statement1; statement2)))
while condition do statement1; statement2 end_while
|
Тело цикла: произвольная последовательность операторов |
|