Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
nbCqmVlOPg.doc
Скачиваний:
9
Добавлен:
30.04.2022
Размер:
151.04 Кб
Скачать

2.3 Цикл с определённым количеством итераций

Циклы нужны для многократного выполнения последовательности команд. Один проход цикла называется итерацией. В MATLAB, как и в других языках программирования, существуют циклы с определённым, т.е. заранее известным, и неопределённым числом итераций.

Рассмотрим цикл первого типа. Он называется for и имеет синтаксис следующего вида:

for переменная = вектор или матрица

команды

end

Если справа от оператора присваивания стоит вектор (или выражение, результатом которого является вектор), то переменной вначале каждой итерации будет присваиваться значение очередного элемента этого вектора.

В случае с матрицей переменная будет по очереди принимать значения всех столбцов матрицы.

Можно сказать, что первый случай – частный случай второго, когда в каждом столбце матрицы находится по одному элементу. Следует учитывать, что все переменные в MATLAB – матрицы.

Рассмотрим пример.

Пусть нам нужно найти факториал некоторого числа n. Введём переменную fact, изначально равную единице, а затем будем по очереди умножать её на элементы вектора 1:n. Значение n можно выбрать произвольно.

function result = Fact(n)

result = 1;

for i = 1:n

result = result * i;

end

Результат:

>> Fact(10)

ans =

3628800

2.4 Цикл с неопределённым количеством итераций

В программировании часто используются циклы, количество итераций в которых зависит от характеристик данных, от действий пользователя и от других факторов.

Цикл такого типа называется циклом while и имеет синтаксис:

while условие

команды

end

Пока условие цикла истинно, его команды будут запускаться вновь и вновь. Если использовать условие, которое всегда принимает истинное значение, то мы получим бесконечный цикл. Обычно используется именно он, однако, необходимо обеспечить возможность выхода из цикла. Для этого во время выполнения программы можно изменить соответствующим образом значения переменных, входящих в условное выражение. Также нередко используют ключевое слово break, прерывающее работу цикла. Если мы всё же не предусмотрели такую возможность, то выполнение программы можно прервать с помощью сочетания клавиш Ctrl+C.

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

function result = Fact2(n)

result = 1;

i = 1;

while i <= n

result = result * i;

i = i + 1;

end

Результат тот же:

>> Fact2(10)

ans =

3628800

2.5 Операторы return, break и continue

Ключевое слово return используют для прерывания выполнения сценария или функции и возврата в вызвавшую функцию или интерпретатор.

Break применяют в тех случаях, когда нужно преждевременно завершить работу цикла.

Команда сontinue досрочно завершает текущую итерацию цикла. Все инструкции после continue пропускаются и выполнение цикла продолжается с новой итерации.

2.6. Функция input

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

>> x = input(‘x = ’)

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