Алгоритмические операторы 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