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