2016-12-08 2 views
0

Я знаю, что я могу иметь различный номер ввода, используя varargin.Различные входные данные для одной функции в matlab

Однако, если вы наберете sparse( в MATLAB, вы увидите, что имена входных аргументов различаются для количества входных аргументов.

various input arguments

Я хочу сделать такой стиль ввода.

Можно ли сделать такую ​​функцию? или он ограничен только встроенной функцией?

ответ

1

Вы можете сделать это, используя класс inputParser и метод addOptional. В основном, MATLAB проверяет аргумент и, если он не существует в вызове функции, присваивает ему значение по умолчанию.

docs От:

addOptional (р, argName, по умолчанию) добавляет дополнительный вход, argName, к входной парсера схемы inputParser объекта, с. Когда входы, которые вы проверяете , не включают значение для этого дополнительного ввода, парсер ввода назначает значение по умолчанию для ввода.

addOptional (p, argName, default, validationFcn) указывает функцию для входного аргумента.

См. Документы для inputParser и addOptional для примера.