声明函数参数验证
参数argName1(维度)数据类型{validators}=defaultValue
...argNameN……
end arguments (repeat)…结束
参数……结束
声明函数的输入参数。参数块是可选的。如果包括参数
块,它必须出现在函数的第一个可执行行之前。函数可以包含多个参数
块。
每个参数可以有一个或多个限制或一个默认值,如下语法所示:
argName(维度)数据类型{validators}=defaultValue
-输入大小,指定为两个或多个数字的逗号分隔列表,例如(尺寸)
(1、2)
,(3,5,2)
或(: 1)
. 冒号允许该维度中的任何长度。
不能包含表达式。(尺寸)
输入的维度必须匹配
确切地说或是兼容的的大小(尺寸)
.例如,(尺寸)
(: 1)
指定输入必须是1-by-N行向量,但是N-by-1列向量是兼容的。该函数将行向量输入重塑为列向量。类似地,一个(2,3)
允许标量输入,但它将输入扩展为2 × 3矩阵。看到基本操作的兼容数组大小为更多的信息。
-数据类型,指定为类名,例如数据库类型
双
.输入必须是指定的类型或可以转换为该类型的类型。例如,一个函数指定双
接受类型为的值单一的
并将其转化为双
.
—用逗号分隔的验证函数列表,例如{验证程序}
mustBeNumeric
和mustBeScalarOrEmpty
,用花括号括起来。当输入参数与其条件不匹配时,验证函数出错。不像
,验证函数不修改输入参数。有关验证函数的列表,请参见参数验证功能.数据库类型
—默认值必须符合指定的大小、类型和验证规则。默认值也可以是表达式。指定默认值使实参可选。可选参数必须位于函数签名中的required参数之后和defaultValue
参数
块
名称-值参数,
使用表单arg
,在那里nv.name
是函数签名和nv
参数块中的参数名称。例如,定义一个函数,该函数使用名为名称
选项
.
y=myFunction(x,选项)
在arguments块中,将name-value参数的名称指定为字段:
参数x options.Name1 options.Name2 end
,以获取更多使用信息参数
块一般,见参数块语法.
参数(重复)。。。结束
声明重复的参数。
例如,如果您创建一个名为myplot
反复争论X
,Y
,风格
,函数接受这三个参数的多个集合,例如myplot(x1,y1,style1,x2,y2,style2)
. MATLAB®创建包含为该参数传入的所有值的单元格数组。
函数只能包含一个重复参数块。如果函数同时包含重复参数和名称值参数,请在重复参数块之后的单独参数块中声明名称值参数。
有关重复参数的详细信息,请参见重复的参数.
嵌套函数、抽象方法或句柄类析构函数方法中不支持参金宝app数块。
使用数据类型限制可能导致输入参数的隐式转换。例如:
function y = myFunction(inputArg1) arguments inputArg1 (1,1) double end…
"123"
作为输入参数,MATLAB将字符串转换为数值123
类型双
.验证函数不会以任何方式更改输入值,因此为了避免数据类型转换,请使用一个或多个验证器函数而不是数据类型来限制输入。例如:
要避免将字符串转换为数值,请使用mustBeA
,必须快活
或mustBeNumeric
.
若要避免将数值转换为字符串,请使用必读
,mustBeTextScalar
或mustBenonZeroLength文本
.
要避免大小转换,请使用穆斯贝维克特
或mustBeScalarOrEmpty
.