Поскольку MATLAB® является нетипизированным языком, большинство функций не требует объявлений аргумента или валидации. Однако, если ваша функция имеет широкое использование, и необходимо проверить тип, размер или другие аспекты входных параметров, чтобы гарантировать, что код работает как ожидалось, можно задать arguments
блок (начиная с R2019b). Для получения дополнительной информации смотрите Валидацию Аргумента функции.
Кроме того, можно проверять, сколько вводов или выводов функция получает, имена входных переменных и т.д.
Пути к Анализу входных параметров функции
Выберите метод для проверки валидности входных параметров.
Объявите класс входного параметра и размер и осуществите ограничения на значения аргументов.
Проверка Входных параметров функции с validateattributes
В этом примере показано, как проверить, что входные параметры к вашей функции соответствуют набору требований с помощью validateattributes
функция.
Анализ входных параметров функции
Задайте требуемые и дополнительные входные параметры, присвойте значения по умолчанию дополнительным входным параметрам и подтвердите все входные параметры к пользовательской функции с помощью Входного Синтаксического анализатора.
Поддержка переменного количества входных параметров
Задайте функцию, которая принимает переменное количество входных параметров с помощью varargin
. varargin
аргумент является массивом ячеек, который содержит входные параметры функции, где каждый вход находится в своей собственной ячейке.
Поддержка переменного количества Выходных параметров
Задайте функцию, которая возвращает переменное количество выходных аргументов с помощью varargout
. Выведите varargout
массив ячеек, который содержит функциональные выходные параметры, где каждый выход находится в своей собственной ячейке.
Определение количества аргументов функции
Используйте nargin
и nargout
определить, сколько получают аргументы ввода или вывода ваша функция.
Проигнорируйте входные параметры в функциональных определениях
Если ваша функция принимает предопределенный набор входных параметров, но не использует все входные параметры, используйте тильду (~
) оператор, чтобы проигнорировать их в вашем функциональном определении.