exponenta event banner

addParamValue

(Не рекомендуется) Добавьте необязательный аргумент пары имя-значение во входную схему синтаксического анализатора

addParamValue не рекомендуется. Использовать addParameter вместо этого.

Описание

пример

addParamValue(p,paramName,defaultVal) добавляет имя параметра необязательного аргумента пары имя-значение во входную схему синтаксического анализатора. Если входные данные функции не включают эту опциональную пару имя-значение, анализатор входных данных назначает paramName стоимость defaultVal.

В отличие от позиционных вводов, добавленных с помощью addRequired и addOptional функции, каждый параметр добавлен с addParamValue соответствует двум входным аргументам: один для имени и один для значения.

addParamValue(p,paramName,defaultVal,validationFcn) определяет функцию проверки для входного аргумента.

Примеры

свернуть все

Проверить, что значение соответствует myParam, со значением по умолчанию 1, является числовым скаляром, большим нуля.

Создайте схему входного синтаксического анализатора. Для функции проверки, @(x) создает дескриптор анонимной функции, которая принимает один ввод.

p = inputParser;
paramName = 'myParam';
defaultVal = 1;
errorMsg = 'Value must be positive, scalar, and numeric.'; 
validationFcn = @(x) assert(isnumeric(x) && isscalar(x) ...
    && (x > 0),errorMsg);
addParamValue(p,paramName,defaultVal,validationFcn)

Синтаксический анализ недопустимого входного аргумента, например -1.

parse(p,'myparam',-1)
The value of 'myparam' is invalid. Value must be positive, scalar, and numeric.

Входные аргументы

свернуть все

Входная схема синтаксического анализатора, заданная как inputParser объект.

Имя входного параметра, заданного как вектор символа или скаляр строки.

Пример: "firstName"

Пример: 'address'

Типы данных: char | string

Значение по умолчанию для входных данных, указанное как любой тип данных. Если argName не является входом в функцию, когда parse функция анализирует входы, затем назначает argName стоимость defaultVal.

Функция для проверки аргумента, указанная как дескриптор функции.

Дескриптор функции должен быть связан с функцией, возвращающей true или false, или проходит тест, или выдает ошибку. Оба типа функций должны принимать один входной аргумент.

Пример: @(s)isstring(s)

Пример: @(x)isnumeric(x)&&isscalar(x)

Пример: @(n)validateattributes(n,{'numeric'},{'nonnegative'})

Типы данных: function_handle

Совет

  • Пары «имя-значение параметра» являются необязательными входами. При вызове функции пары имя-значение могут появляться в любом порядке после позиционных аргументов. Они принимают общую форму Name1,Value1,...,NameN,ValueN.

Представлен в R2007a