- •Основы программирования в matlab методические указания
- •Введение
- •1. Виды программ в matlab
- •1.1 Сценарии (скрипты)
- •1.2 Функции
- •1.3 Основные и локальные функции
- •1.4 Вложенные функции
- •1.5 Анонимные функции
- •2. Управляющие конструкции
- •2.1 Условный оператор if
- •2.2 Оператор выбора switch-case
- •2.3 Цикл с определённым количеством итераций
- •2.4 Цикл с неопределённым количеством итераций
- •2.5 Операторы return, break и continue
- •2.6. Функция input
- •3. Комментарии в программе
- •4. Лабораторное задание
- •Библиографический список
- •Содержание
- •09.03.02 «Информационные системы и технологии»
- •09.03.01 «Информатика и вычислительная техника»
- •394026 Воронеж, Московский просп., 14
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 = ’)