Документация
Объявите имя функции, входные параметры и выходные параметры
Синтаксис
Описание
Можно сохранить функцию:
В файле функции, который содержит только функциональные определения. Имя файла должно совпадать с именем первой функции в файле.
В файле скрипта, который содержит команды и функциональные определения. Функции должны быть в конце файла. Файлы скрипта не могут иметь того же имени как функция в файле. Функции поддерживаются в скриптах в R2016b или позже.
Файлы могут включать несколько локальных функций или вложенных функций. Для удобочитаемости используйте end ключевое слово, чтобы указать на конец каждой функции в файле. end ключевое слово требуется когда:
Любая функция в файле содержит вложенную функцию.
Функция является локальной функцией в файле функции, и любая локальная функция в файле использует end ключевое слово.
Функция является локальной функцией в файле скрипта.
Примеры
Функция с одним Выводом
Задайте функцию в файле с именем average.m это принимает входной вектор, вычисляет среднее значение значений и возвращает один результат.
Вызовите функцию из командной строки.
Функция с несколькими Выходными параметрами
Задайте функцию в файле с именем stat.m это возвращает среднее и стандартное отклонение входного вектора.
Вызовите функцию из командной строки.
Функция в файле скрипта
Задайте скрипт в файле с именем integrationScript.m это вычисляет значение подынтегрального выражения в 


Примечание: Включая функции в скриптах требует MATLAB® R2016b или позже.
Несколько функций в функциональном файле
Функциональный avg local function. Локальные функции только доступны для других функций в том же файле.
Вызовите функциональный stat2 из командной строки.
Функция с валидацией аргумента
Задайте функцию, которая ограничивает вход числовым вектором, который не содержит Inf или NaN элементы. Эта функция использует arguments ключевое слово, которое допустимо для MATLAB ® версии R2019b и позже.
Вызывание функции с вектором, который содержит элемент, который является NaN нарушает объявление входного параметра. Это нарушение приводит к ошибке, будучи выданным mustBeFinite функция валидации.
Смотрите также
Открытый пример
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
Документация MATLAB
Поддержка
© 1994-2021 The MathWorks, Inc.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.
Matlab function что это
Пример
М-сценарии
Сценарии являются самым простым типом M-файла – у них нет входных и выходных аргументов. Они используются для автоматизации многократно выполняемых вычислений. Сценарии оперируют данными из рабочей области и могут генерировать новые данные для последующей обработки в этом же файле. Данные, которые используются в сценарии, сохраняются в рабочей области после завершения сценария и могут быть использованы для дальнейших вычислений.
Пример
Следующие операторы вычисляют радиус-вектор rho для различных тригонометрических функций от угла theta и строят последовательность графиков в полярных координатах.
Создайте М-файл petals.m, вводя указанные выше операторы. Этот файл является сценарием. Ввод команды petals.m в командной строке системы MATLAB вызывает выполнение операторов этого сценария.
После того, как сценарий отобразит первый график, нажмите клавишу Return, чтобы перейти к следующему графику. В сценарии отсутствуют входные и выходные аргументы; программа petals.m сама создаёт переменные, которые сохраняются в рабочей области системы MATLAB. Когда выполнение завершено, переменные (i, theta и rho) остаются в рабочей области. Для того чтобы увидеть этот список, следует воспользоваться командой whos.
М-функции
М-функции являются M-файлами, которые допускают наличие входных и выходных аргументов. Они работают с переменными в пределах собственной рабочей области, отличной от рабочей области системы MATLAB.
Пример
Попробуйте ввести эти команды в M-файл, именуемый average.m. Функция average допускает единственный входной и единственный выходной аргументы. Для того чтобы вызвать функцию average, надо ввести следующие операторы:
z = 1:99;
average(z)
ans = 50
Строка определения функции. Строка определения функции сообщает системе MATLAB, что файл является М-функцией, а также определяет список входных аргументов.
Каждая функция в системе MATLAB содержит строку определения функции, подобную приведенной.
Если функция имеет более одного выходного аргумента, список выходных аргументов помещается в квадратные скобки. Входные аргументы, если они присутствуют, помещаются в круглые скобки. Для отделения аргументов во входном и выходном списках применяются запятые.
Пример
function [x, y, z] = sphere(theta, phi, rho)
Имена входных переменных могут, но не обязаны совпадать с именами, указанными в строке определения функции.
Первая строка комментария. Для функции average первая строка комментария выглядит так:
% AVERAGE Среднее значение элементов вектора
Комментарий. Для M-файлов можно создать online-подсказку, вводя текст в одной или более строках комментария.
Пример
Сформируем несколько строк комментария
% Функция average(x) вычисляет среднее значение элементов вектора x.
% Если входной аргумент не является вектором, выдается ошибка.
Пример
help sin
SIN Sine.
SIN(X) is the sine of the elements of X
SIN(X) вычисляет функцию синуса элементов массива X.
Оглавление каталога. Можно создать комментарий для целого каталога, если сформировать специальный файл с именем Contents.m. Этот файл должен содержать только строки комментариев.
Если каталог не содержит файла Contents.m, то по команде help распечатывается первая строка комментария для каждого M-файла данного каталога.
Тело функции. Тело функции содержит код языка MATLAB, который выполняет вычисления и присваивает значения выходным аргументам. Операторы в теле функции могут состоять из вызовов функций, программных конструкций для управления потоком команд, интерактивного ввода/вывода, вычислений, присваиваний, комментариев и пустых строк.
Пример
Тело функции average включает ряд простейших операторов программирования:
| Оператор вызова функции size Начало оператора if |
| |
| Сообщение об ошибке Конец оператора if |
Как уже говорилось ранее, комментарии отмечаются знаком (%). Строка комментария может быть размещена в любом месте M-файла, в том числе и в конце строки.
Пример
% Найти сумму всех элементов вектора x
y = sum(x) % Использована функция sum.
Кроме строк комментариев в текст М-файла можно включать пустые строки. Однако надо помнить, что пустая строка может служить указателем окончания подсказки.
Имя файла, содержащего М-функцию, составляется из имени функции и расширения “.m”.
Пример
average.m
Если имя файла и имя функции в строке определения функции разные, то используется имя файла, а внутреннее имя игнорируется. Хотя имя функции, определенное в строке определения функции, может и не совпадать с именем файла, настоятельно рекомендуется использовать одинаковые имена.
Многие команды могут быть модифицированы добавлением операндов:
load August17.dat
help magic
type rank
load(‘August17.dat’)
help(‘magic’)
type(‘rank’)
В этом заключается двойственность понятий команды и функции в системе MATLAB. Любая команда вида
может быть записана в форме функции
Преимущество функционального описания проявляется, когда строка аргументов формируется по частям. Следующий пример показывает, как может быть обработана последовательность файлов August1.dat, August2.dat, и т.д. Здесь используется функция int2str, которая переводит целое число в строку символов, что помогает сформировать последовательность имён файлов.
for d = 1:31
s = [‘August’ int2str(d) ‘.dat’]
load(s) %Загрузить файл с именем August’d’.dat
% Операторы обработки файла
end
Исправляем ошибки: Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter



