除了参数的数量之外,还可以检查输入的各种属性。验证
用于字符串参数和验证贡献
用于数字参数。
validstar=
验证 (str,strarray)
¶
validstar=
验证 (str,strarray,函数名)
¶
validstar=
验证 (str,strarray,函数名,变量名)
¶
validstar=
验证 (…,位置)
¶
验证str是中的元素或元素的子字符串strarray.
什么时候str是要测试的字符串,并且strarray是一个有效值的字符串数组,那么validstar将是的验证形式str其中验证定义为str成为的成员或子串validstar。这对于验证和扩展空头参数都很有用,例如r
,转换为较长的形式,例如红色
如果str是的子字符串validstar,并且有多个匹配,如果所有匹配都是彼此的子字符串,则将返回最短的匹配。否则,错误将受到谴责,因为的扩展str模棱两可。所有比较都不区分大小写。
附加输入函数名,变量名和位置是可选的,这将使任何生成的验证错误消息更加具体。
示例:
validatestring(“r”,{“red”,“green”,“blue”})⇒ “红色”验证(“b”,{“红色”,“绿色”,“蓝色”,“黑色”})⇒ 错误:validatestring:为“b”找到多个唯一匹配项:蓝色、黑色
详见: 字符串比较函数,strcmpi,验证贡献,inputsparser.
(A,类,属性)
¶
(A,类,属性,arg_idx)
¶
(A,类,属性,函数名称)
¶
(A,类,属性,函数名称,arg_name)
¶
(A,类,属性,函数名称,arg_name,arg_idx)
¶
检查输入参数的有效性。
确认参数A通过属于其中一个而有效类,并持有所有属性。如果没有,则抛出错误,并相应地格式化消息。可以通过函数名称使错误消息更加完整fun_name,参数名称arg_name,及其在输入中的位置arg_idx.
类必须是字符串的元胞数组(不允许使用空元胞数组)和类的名称(记住类名区分大小写)。除了类名之外,以下类别名称也是有效的:
浮动
包含类的浮点值double
和single
.
整数
整数值,包括类(u)int8、(u)int 16、(u)int 32和(u)int64。
“数字”
包含浮点值或整数值的数值。
属性必须是具有检查名称的元胞数组A。其中一些要求在该日期后立即提供附加值(详见下面的每个详细信息)。
"<="
中的所有值都小于或等于以下值属性.
"<"
中的所有值都小于以下值属性.
">="
中的所有值都大于或等于以下值属性.
">"
中的所有值都大于以下值属性.
“2d”
二维矩阵。注意向量和空矩阵有二维,其中一个长度为1,或者两个长度都为0。
“3d”
不超过3个维度。2维矩阵是3维长度为1的3维矩阵。
二进制的
所有值都是1或0。
柱
值排列在一列中。
“减少”
没有值是NaN,并且每个都小于前一个。
“diag”
值是一个对角矩阵。
即使
所有值都是偶数。
有限的
所有值都是有限的。
“增加”
没有值是NaN,并且每个都大于前一个。
整数
所有值都是整数。这与使用不同isiteger
其仅检查其为整数类型。这将检查中的每个值A是一个整数值,即没有小数部分。
“ncols”
具有与中的下一个值完全相同的列数属性.
“ndims”
具有与中的下一个值完全相同的维度属性.
“不减少”
没有值是NaN,并且每个都大于或等于前一个。
“非空”
它不是空的。
“不增加”
没有值是NaN,并且每个都小于或等于前一个。
“nonnan”
没有值是NaN
.
“非负”
所有值均为非负值。
“不解析”
它不是一个稀疏矩阵。
“非零”
没有值为零。
“nrows”
具有与中的下一个值完全相同的行数属性.
“numel”
具有与中的下一个值完全相同的元素数属性.
古怪的
所有值都是奇数。
积极乐观的
所有值都是正值。
真实的
它是一个非复杂矩阵。
一行
值排列在一行中。
“标量”
它是一个标量。
size
其大小的长度等于中下一个的值属性。下一个值必须是具有每个维度的长度的数组。若要忽略对某个维度的检查,则的值NaN
可以使用。
广场
是一个正方阵。
“向量”
值排列在单个向量(列或向量)中。
详见: isa,验证,inputsparser.
作为的替代方案验证贡献
有几个方便快捷的函数来检查各个属性。
(x)
¶
要求输入x是有限的。
如果输入的任何元素都会引发错误x不是有限的,从isfinite(x)
.
详见: mustBeNonNan,isfinite.
(x,c)
¶
要求输入x大于c.
如果输入的任何元素都会引发错误x不大于c,从确定x>c
.
(x,c)
¶
要求输入小于或等于给定值。
如果输入的任何元素都会引发错误x不小于或等于c,从确定x<=c
.
(x,有效的)
¶
要求输入x是一组给定有效值的成员。
如果输入的任何元素都会引发错误x不是集合的成员有效的,从确定ismember(x)
.
编程注意:从于调用时字符和单元字符串之间的相互作用,字符输入可能会表现得很奇怪ismember
在他们身上。但如果你只是自然地使用它,它可能会“为所欲为”。为了保证操作,使用将所有char数组转换为数组字符串cellstr
.
详见: mustBeNonempty,ismember.
(x)
¶
要求输入x是负数。
如果输入的任何元素都会引发错误x不是负数,从确定x< 0
.
详见: mustBeNonnegative.
(x)
¶
要求输入x不是空的。
如果输入x为空,从确定isempty(x)
.
(x)
¶
要求输入x不是-NaN
.
如果输入的任何元素都会引发错误x是NaN
,从确定不是吗(x)
.
(x)
¶
要求输入x不是否定的。
如果输入的任何元素都会引发错误x为负,从确定x>= 0
.
(x)
¶
要求输入x不是正的。
如果输入的任何元素都会引发错误x为阳性,从确定x<= 0
.
(x)
¶
要求输入x不是零。
如果输入的任何元素都会引发错误x为零,从确定x== 0
.
(x)
¶
要求输入x是积极的。
如果输入的任何元素都会引发错误x不是正的,从确定x> 0
.
(x)
¶
要求输入x是真实的。
如果输入x不是真实的,从确定以色列(x)
.
详见: mustBeFinite,mustBeNonNan,以色列.
版权所有 © 2024 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号