文档

addParameter

在输入解析器方案中添加可选的名称-值对参数

语法

addParameter (p paramName defaultVal)
addParameter (p paramName defaultVal validationFcn)
addParameter (___、“PartialMatchPriority”matchPriorityValue)

描述

例子

addParameter (pparamNamedefaultVal将可选的名称-值对参数的参数名称添加到输入解析器方案中。当函数的输入不包含这个可选的名称-值对时,输入解析器将赋值paramName的值defaultVal

不像位置输入加上addRequiredaddOptional函数中,每个参数都添加了addParameter对应于两个输入参数:一个用于名称,另一个用于值。

例子

addParameter (pparamNamedefaultValvalidationFcn为输入参数指定验证函数。

addParameter (___“PartialMatchPriority”,matchPriorityValue指定冲突参数名称的部分匹配的优先级。输入解析器方案选择较低优先级值而不是较高优先级值。将此选项用于前面语法中的任何输入参数组合。

例子

全部折叠

创建一个inputParser对象,并将名称-值对添加到输入方案中。

p = inputParser;paramName =“myParam”;defaultVal = 0;addParameter (p paramName defaultVal)

将参数名称和值都传递给解析方法,并显示结果。

解析(p,“myParam”, 100);p.Results
ans =带有字段的结构体:myParam: 100

验证对应的值myParam,默认值为1,是一个大于零的数字标量。

创建输入解析器方案。对于验证函数,@ (x)创建接受一个输入的匿名函数的句柄。

p = inputParser;paramName =“myParam”;defaultVal = 1;errorMsg =“值必须是正数、标量和数字。”;validationFcn = @(x) assert(isnumeric(x) && isscalar(x))&& (x >0 0),errorMsg);addParameter (p paramName defaultVal validationFcn)

解析无效的输入参数,例如1

解析(p,“myparam”, 1)
'myparam'的值无效。Value必须是正数、标量和数字。

定义一个验证函数validateattributes。验证实参是否为非空字符向量。

validationFcn = @(x) validateattributes(x,{“字符”},{“非空的”});

创建一个输入解析器方案,该方案包含一个可选的名称-值对参数和参数名的名字默认值为“John Doe”。用验证输入参数validationFcn

p = inputParser;paramName =“名字”;defaultVal =“John Doe”;addParameter (p paramName defaultVal validationFcn)

定义的名字作为一个数字。解析失败。

解析(p,“名字”, 1138)
'myName'的值无效。期望输入是以下类型之一:char而不是double类型。

解析一个字符向量。解析通过。

解析(p,“名字”“乔治”

输入参数

全部折叠

输入解析器模式,指定为inputParser对象。

输入参数的名称,指定为字符向量或字符串标量。

例子:“firstName”

例子:“地址”

数据类型:字符|字符串

输入的默认值,指定为任何数据类型。如果argName不是函数的输入,当解析函数解析输入,然后赋值argName的值defaultVal

函数来验证参数,指定为函数句柄。

函数句柄必须与返回的函数相关联真正的,或通过测试,或抛出错误。这两种类型的函数都必须接受一个输入参数。

例子:@ (s) isstring (s)

例子:@ (x) isnumeric (x) &&isscalar (x)

例子:@ (n) validateattributes (n,{‘数字’},{“非负”})

数据类型:function_handle

冲突参数名称部分匹配的优先级,指定为正整数。输入解析器方案选择较低优先级值而不是较高优先级值。如果部分参数名称有歧义且具有相同的优先级,则解析抛出错误。如果名称有歧义,但具有不同的优先级值,则解析发出警告,指示匹配的名称。

提示

  • 参数名-值对是可选输入。调用函数时,名称-值对可以在位置参数之后以任意顺序出现。它们取一般形式Name1, Value1,…,的家

在R2013b中引入

这个话题有帮助吗?