Тело файла с любыми выражениями, командами и управляющими структурами.

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

Наши рекомендации