Алгоритмические операторы Matlab
Помимо программ с линейной структурой, инструкции которых исполняются строго по порядку, существует множество алгоритмов, структура которых нелинейная. При этом последовательность элементов алгоритмов может выполняться в зависимости от определенных условий, иногда с конечным числом повторений – регулярных циклов, иногда в виде циклов, завершаемых при выполнении заданного условия. Практически любая серьезная программа имеет нелинейную структуру. Для создания таких программ необходимы специальные управляющие структуры. Они имеются в любом языке программирования высокого уровня, и в частности в Matlab.
Рассмотрим операторы m-файлов подробнее.
Оператор присваивания. Основным оператором системы программирования MatLab является оператор присваивания, имеющий следующую структуру:
ИмяПеременной=выражение
Оператор предназначен для идентификации переменных и обозначается символом =, слева от которого находится имя переменной, а справа арифметическое или строковое выражение (правила записи арифметических и строковых выражений были рассмотрены в п. 1.1.2). Приведем несколько примеров операторов присваивания (рис. 1.3.4-1).
Рис. 1.3.4-1. Примеры операторов присваивания
Все переменные, используемые в правой части оператора присваивания, должны быть предварительно определены. Если командная строка заканчивается символом точка с запятой (;), то результат выполнения оператора не выводится, иначе он выводится в следующей строке командного окна. Это замечание распространяется и на выполнение операторов присваивания, расположенных в m-файлах.
Операторы ввода данных. Ввод данных в Matlab может осуществляться как с использованием оператора присваивания (a=5;), так и с использованием функции ввода данных с клавиатуры:
ИмяПеременной= input ('Запроc');
Эта функция вводит выражение с клавиатуры, а результат заносится в переменную с именем a. В приведенном ниже примере в переменную a введено вначале числовое значение, а затем числовое выражение (рис. 1.3.4-2).
Рис. 1.3.4-2. Ввод данных с клавиатуры
Функция input()может использоваться и для ввода произвольных строковых выражений. При этом она задается в следующем виде:
input('Запроc', V);
При выполнении этой функции вычисления останавливаются в ожидании ввода строкового выражения. Введенное выражение выводится в следующей строке. Для вычисления выражения, заданного в символьном виде, использована функция eval(). Это иллюстрирует пример на рис. 1.3.4-3.
Рис. 1.3.4-3. Вычисление выражения, заданного в символьном виде
Условный оператор if…end. Условный оператор ifв общем виде записывается следующим образом:
ifЛогическоеВыражение1
Инструкции1
elselfУсловие2
ЛогическоеВыражение2
Else
ЛогическоеВыражение3
End