Как сценарии, так и функции можно использовать повторно, сохраняя последовательности команд в файле программы. Сценарии — это самый простой тип программ, поскольку они хранят команды точно так же, как они вводятся в командной строке. Функции более гибкие, в основном потому, что они могут передавать входные значения и возвращать выходные значения. Например, эта функция с именем fact вычисляет факториал числа (n) и возвращает результат (f).
Функции этого типа должны быть определены в файле, а не в командной строке. Во многих случаях функция сохраняется в собственном файле. В этом случае MATLAB® ассоциирует программу с именем файла, поэтому лучшей практикой является использование одинакового имени для функции и файла (в данном примере fact.m). Сохраните файл в текущей папке или в папке по пути поиска MATLAB.
Функции можно вызывать из командной строки, используя те же правила синтаксиса, которые применяются к установленным функциям в MATLAB. Например, рассчитайте коэффициент 5.
Начиная с R2016b, еще одним вариантом хранения функций является включение их в конец файла сценария. Например, создайте файл с именем mystats.m, содержащий несколько команд и две функции, fact и perm. Скрипт вычисляет перестановку (3,2).
Вызовите сценарий из командной строки.
Синтаксис для определения функций.
Первая строка каждой функции представляет собой оператор определения, содержащий следующие элементы
Ключевое слово функции (обязательно).
Используйте строчные буквы для ключевых слов.
Выходные аргументы (необязательно)
Если функция возвращает вывод, имя вывода может быть указано после ключевого слова function.
Если функция возвращает более одного вывода, заключите имя вывода в квадратные скобки.
Если выходов нет, их можно пропустить.
В качестве альтернативы можно использовать пустые квадратные скобки.
Название функции (обязательно).
Допустимые имена функций подчиняются тем же правилам, что и имена переменных. Он должен начинаться с буквы и может содержать буквы, цифры или знаки подчеркивания.
ПРИМЕЧАНИЯ.
Чтобы избежать путаницы, используйте одно и то же имя как для файла функций, так и для первой функции в файле. MATLAB ассоциирует программу с именем файла, а не с именем функции. Файлы сценариев не могут иметь то же имя, что и функция в файле.
Входные аргументы (необязательно)
Если функция принимает входные данные, заключите их имена в скобки после имени функции. Входные данные разделяются запятыми.
Если входных данных нет, круглые скобки можно опустить.
Советы.
Если вы определяете функцию с несколькими входными или выходными аргументами, перечислите сначала необходимые аргументы. Эта схема позволяет вызывать функции без необязательных аргументов.
Функция и содержимое файла
Тело функции может содержать допустимые выражения MATLAB, операторы потока управления, комментарии, пустые строки и вложенные функции. Переменные, созданные в функции, хранятся в рабочем пространстве функции, отдельном от основного рабочего пространства.
Файл программы может содержать более одной функции. Если файл содержит только определения функций, то первой функцией будет главная функция, которую MATLAB ассоциирует с именем файла. Функции, которые следуют за основной функцией или кодом сценария, называются локальными функциями. Локальные функции можно использовать только внутри файла.
Конечное заявление
Функция завершается в конце оператора end, в конце файла или в строке, определяющей локальную функцию, в зависимости от того, что наступит раньше. Заявление об уплате пошлины требуется в следующих случаях
Все функции в файле содержат вложенные функции (функции, которые полностью содержатся в своем родителе).
Функция является локальной функцией в файле функций, а все локальные функции в файле используют ключевое слово end.