Тело файла с любыми выражениями, командами и управляющими структурами.
var=выражение
Последняя инструкция “var=выражение” вводится, если требуется, чтобы функция возвращала результат вычислений. Если необходимо большее количество выходных параметров, структура модуля будет иметь следующий вид:
Function[var1,var2,...]=f_name(Список_параметров_передаваемых_значений)
%Основной комментарий– одна строка (обязателен)
%Дополнительный комментарий – любое число строк (необязателен)
Тело файла с любыми выражениями, командами и управляющими структурами.
var1=выражение
var2=выражение
...
Имена var, var1, var2, ... для возвращаемых значений являются глобальными или известными в теле вызывающей М-функции.
Управляющие структуры
Помимо программ с линейной структурой, инструкции которых исполняются строго по порядку, MATLAB позволяет создавать программы, структура которых нелинейна. Для создания таких программ применяются следующие управляющие структуры:
1. Диалоговый ввод: input (строка);
2. Условный оператор: if ... elsif ... else... end;
3. Циклы типа for...end: for Заголовок_цикла Тело_цикла end;
4. Циклы типа while...end: while Условие_цикла Тело_цикла end;
5. Конструкция переключателя: switch Exp case B1 case b2 … otherwise end;
6. Конструкция try...catch...end: try Тело_try catch Тело_catch end;
7. Создание паузы в вычислениях: pause, pause (...), pause on, pause off.
Для организации диалогового вывода используются функции
input и disp.
Функция input имеет следующий синтаксис:
переменная = input(строка)
При выполнении этой команды вначале выводится строка, затем происходит остановка работы программы и ожидается ввод значения. Ввод подтверждается нажатием клавиши Enter, после чего введенное значение присваивается переменной.
Функция disp предназначена для вывода ее параметра на экран:
disp (Выводимое значение)
Условный оператор if в общем виде записывается следующим образом:
If Условие
Список_инструкций_If
Elseif Условие
Список_инструкций_Elsif
Else
Список_инструкций_Else
End
Циклы типа for...end обычно используются для организации вычислений с заданным числом повторяющихся циклов. Конструкция такого цикла имеет следующий вид:
for var=Выражение, Список_инструкций end
Выражение чаще всего записывается в виде s:d:e, где s – начальное значение переменной цикла var, d – приращение этой переменной и e – конечное значение управляющей переменной, при достижении которого цикл завершается. По умолчанию dравно1.
Цикл типа while...end выполняется до тех пор, пока остается истинным условие:
While Условие
Список_инструкций
End
Досрочное завершение циклов реализуется с помощью операторов breakилиcontinue.
Для осуществления множественного выбора (или ветвления) используется конструкция с переключателем типа switch:
switch switch_Выражение
case case_Выражение
Список_инструкций
case {case_Выражение1,case_Выражение2,case_Выражение3,...}
Список_инструкций
...
Otherwise,
Список_инструкций
End
Case_выражение может быть числом, константой, переменной, вектором ячеек или даже строчной переменной. В последнем случае оператор caseистинен, если функция strcmp(значение, выражение) возвращает логическое значение “истина”.
Конструкция блока вывода ошибок try...catch...end имеет следующий синтаксис:
Try
Список_инструкций
Catch
Список_инструкций
End
Эта конструкция выполняет все списки инструкций. Если в каком-то списке до оператора catch появляется ошибка, то выводится сообщение об ошибке, но системная переменная последней ошибки lasterrне меняется. В выражениях после catch сообщение об ошибке не выводится.
Во всех управляющих структурах список инструкций, или тело, представляет собой последовательность выражений, команд или вложенных управляющих структур, разделяемых пробелом, запятой или точкой с запятой. Точка с запятой запрещает вывод данных на экран.
Для остановки программы используется оператор pause. Он используется в следующих формах:
1) pause – останавливает вычисления до нажатия любой клавиши;
2) pause(N) – останавливает вычисления на N секунд;
3) pause on – включает режим обработки пауз;
4) pause off – выключает режим обработки пауз.
Практические задания
Задание 1. Разработать файл-сценарий для построения графика синусоиды линией красного цвета с выведенной масштабной сеткой в интервале [xmin, xmax].
1. Запустить редактор m-файлов и ввести следующую программу:
%Plot with color red
%Строит график синусоиды линией красного цвета
%с выведенной масштабной сеткой в интервале [xmin, xmax]
x=xmin:0.1:xmax;
Plot(x,sin(x),'r')
Grid on
2. Сохранить файл под именем «pcr.m».
3. Выполнить в командном окне MATLAB следующую команду:
>>help pcr
Ha экран выведется информация, находящаяся в основном и дополнительном комментариях файла:
Plot with color red