Добавил:
dipplus.com.ua Написание контрольных, курсовых, дипломных работ, выполнение задач, тестов, бизнес-планов Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
667.doc
Скачиваний:
11
Добавлен:
08.02.2020
Размер:
1.38 Mб
Скачать

Команда while

Циклы с командой while обрабатывают оператор или группу операторов, находящихся в теле цикла, до тех пор, пока истинно проверяемой логическое условие при данной команде. Иными словами, операторы внутри цикла могут выполнться любое неопределенное заранее число раз. Ее синтаксис в общем случае имеет вид

while expression

statements

end

Если логическое выражение expression имеет матричный вид, то для продолжения выполне-ния цикла все его элементы должны быть истинными, то есть равны логической единице. Чтобы привести матричное условие к скалярному, следует воспользоваться функциями all и any. Например, следующий цикл находит первое целое число n, для которого факториал n! является 100-значным числом

n = 1;

while prod(1:n) < 1e100

n = n + 1;

end

Для выхода из петли while в любой момент нужно применить в теле цикла команду break. При этом, естественно, следует сформировать соответствующее логическое условие выхода из цикла.

Команда while и пустые массивы

Если условие при while сводится к пустому массиву, то оно соответствует ложному выраже-нию, то есть последовательность команд

While a

S1;

end

никогда не выполнит оператор S1 если A есть пустой массив.

Команда for

Цикл с командой for обрабатывает оператор или группу опреаторов заранее заданное число раз. Ее синтаксис имеет вид

for index = start:increment:end

statements

end

где index является изменяемым целочисленным индексом с начальным и конечным значе-ниями start и end и приращением increment. По умолчанию, приращение равно 1, но вы мо-жете задать любое приращение, включая и отрицательное. При положительных индексах, выполнение прекращается когда значение индекса превышает конечное значение end; при отрицательных приращениях выполнение прекращается когда индекс становится меньше конечного значения.

Например, следующий цикл выполняется пять раз.

for i = 2:6

x(i) = 2*x (i–1);

end

Вы можете использовать вложенные циклы с комндой for:

for i = 1:m

for j = 1:n

A (i, j) = 1/(i + j – 1) ;

end

end

Внимание ! Вы можете зачастую ускорить выполнение кодов в MATLAB-е путем замены циклов с for и while векторизованными кодами (см. ниже).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]