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