Структура М-файла-функции
М-файл-функция является типичным объектом языка программирования системы MATLAB. Одновременно он является полноценным модулем с точки зрения структурного программирования, поскольку содержит входные и выходные параметры и использует аппарат локальных переменных. Структура такого модуля с одним выходным параметром выглядит следующим образом:
function
var
=
f_name(Список_параметров)
%Основной комментарий
%Дополнительный комментарий
Тело файла с любыми выражениями
var
=
выражение
М-файл-функция имеет следующие свойства:
- он начинается с объявления function, после которого указывается имя переменной van – выходного параметра, имя самой функции и список ее входных параметров;
- функция возвращает свое значение и может использоваться в виде name (Список_параметров) в математических выражениях;
- все переменные, имеющиеся в теле файла-функции, являются локальными, т. е. действуют только в пределах тела функции;
- файл-функция является самостоятельным программным модулем, который общается с другими модулями через свои входные и выходные параметры;
- правила вывода комментариев те же, что у файлов-сценариев;
- файл-функция служит средством расширения системы MATLAB;
- при обнаружении файла-функции он компилируется и затем исполняется, а созданные машинные коды хранятся в рабочей области системы MATLAB.
Последняя конструкция vаг=выражение вводится, если требуется, чтобы функция возвращала результат вычислений.
Приведенная форма файла-функции характерна для функции с одним выходным параметром. Если выходных параметров больше, то они указываются в квадратных скобках после слова function. При этом структура модуля имеет следующий вид:
function
[var1,var2....]
=
f_name(Список_параметров)
%Основной комментарий
%Дополнительный комментарий
Тело файла с любыми выражениями
var1
=
выражение
vаr2
=
выражение
Такая функция во многом напоминает процедуру. Ее нельзя слепо использовать непосредственно в математических выражениях, поскольку она возвращает не единственный результат, а множество результатов – по числу выходных параметров. Если функция используется как имеющая единственный выходной параметр, но имеет ряд выходных параметров, то для возврата значения будет использоваться первый из них. Это зачастую ведет к ошибкам в математических вычислениях. Поэтому, как отмечалось, данная функция используется как отдельный элемент программ вида:
[var1,var2,... ]
=
f_name(Список_параметров)
После его применения переменные выхода var1, var2,… становятся определенными и их можно использовать в последующих математических выражениях и иных сегментах программы. Если функция используется в виде nаmе(Список_параметров), то возвращается значение только первого выходного параметра – переменной var1.