addParameter

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

Описание

пример

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

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

пример

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

addParameter(___,'PartialMatchPriority',matchPriorityValue) задает приоритет для частичного соответствия конфликтных названий параметра. Входная схема синтаксического анализатора выбирает более низкие приоритетные значения по более высоким единицам. Используйте эту опцию с любыми комбинациями входных аргументов в предыдущих синтаксисах.

Примеры

свернуть все

Создайте inputParser возразите и добавьте пару "имя-значение" во входную схему.

p = inputParser;
paramName = 'myParam';
defaultVal = 0;
addParameter(p,paramName,defaultVal)

Передайте и название параметра и значение к parse метод, и отображает результаты.

parse(p,'myParam',100);
p.Results
ans = struct with fields:
    myParam: 100

Подтвердите это значение, соответствующее 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);
addParameter(p,paramName,defaultVal,validationFcn)

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

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

Задайте функцию валидации использование validateattributes. Подтвердите это, аргумент является непустым вектором символов.

validationFcn = @(x) validateattributes(x,{'char'},{'nonempty'});

Создайте входную схему синтаксического анализатора, которая включает дополнительный аргумент пары "имя-значение" с названием параметра myName и значение по умолчанию 'John Doe'. Подтвердите входной параметр с validationFcn.

p = inputParser;
paramName = 'myName';
defaultVal = 'John Doe';
addParameter(p,paramName,defaultVal,validationFcn)

Задайте myName как номер. Сбои синтаксического анализа.

parse(p,'myName',1138)
The value of 'myName' is invalid. Expected input to be one of these types:

char

Instead its type was double.

Проанализируйте вектор символов. Передачи синтаксического анализа.

parse(p,'myName','George')

Входные параметры

свернуть все

Введите схему синтаксического анализатора, заданную как 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

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

Советы

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

Введенный в R2013b

Для просмотра документации необходимо авторизоваться на сайте