主要内容

参数验证函数

MATLAB定义了用于参数验证的函数。这些函数支持用于验证的常用模式,金宝app并提供描述性错误消息。下面的表格对MATLAB进行了分类®验证函数并描述它们的使用。

数值属性

名字

意义

在输入上调用的函数

mustBePositive(值)

取值为> 0

gt伊斯雷尔isnumericislogical

mustBeNonpositive(值)

值<= 0

通用电气伊斯雷尔isnumericislogical

mustBeNonnegative(值)

取值>= 0

通用电气伊斯雷尔isnumericislogical

mustBeNegative(值)

值< 0

lt伊斯雷尔isnumericislogical

mustBeFinite(值)

价值没有也没有元素。

isfinite

mustBeNonNan(值)

价值没有元素。

isnan

mustBeNonzero(值)

值~= 0

情商isnumericislogical

mustBeNonsparse(值)

价值没有稀疏元素。

issparse

mustBeReal(值)

价值没有虚部。

伊斯雷尔

mustBeInteger(值)

Value == floor(Value)

伊斯雷尔isfinite地板上isnumericislogical

mustBeNonmissing(值)

价值不能包含缺失值。

ismissing

与其他值的比较

名字

意义

在输入上调用的函数

mustBeGreaterThan(价值,c)

值为>

gt伊斯雷尔isnumericislogical

mustBeLessThan(价值,c)

值< c

lt伊斯雷尔isnumericislogical

mustBeGreaterThanOrEqual(价值,c)

取值>= c

通用电气伊斯雷尔isnumericislogical

mustBeLessThanOrEqual(价值,c)

值<= c

伊斯雷尔isnumericislogical

数据类型

名字

意义

在输入上调用的函数

mustBeA(价值,类名)

价值必须是特定的阶层。

使用类定义关系

mustBeNumeric(值)

价值必须是数字。

isnumeric

mustBeNumericOrLogical(值)

价值必须是数字的或逻辑的。

isnumericislogical

mustBeFloat(值)

价值必须是浮点数组。

isfloat

mustBeUnderlyingType(typename价值)

价值必须指定基础类型。

isUnderlyingType

大小

名字

意义

在输入上调用的函数

mustBeNonempty(值)

价值不是空的。

isempty

mustBeScalarOrEmpty(值) 价值必须为标量或为空。

isscalarisempty

mustBeVector(值) 价值一定是向量。

isvector

成员及范围

名字

意义

在输入上调用的函数

mustBeMember(价值)

价值和一个组织的成员完全匹配吗年代

ismember

mustBeInRange(价值低,上部,boundflags) 价值必须在范围内。

gt通用电气lt

文本

名字

意义

在输入上调用的函数

mustBeFile(路径)

路径必须引用一个文件。

isfile

mustBeFolder(文件夹) 路径必须引用一个文件夹。

isfolder

mustBeNonzeroLengthText(值)

价值必须是一段非零长度的文本。

不适用

mustBeText(值)

价值必须为字符串数组、字符向量或字符向量的单元格数组。

不适用

mustBeTextScalar(值)

价值肯定是一段文字。

不适用
mustBeValidVariableName(varname) varname必须是有效的变量名。

isvarname

定义验证函数

验证函数是MATLAB函数,用于检查输入函数或属性的值的要求。验证函数确定何时抛出错误以及显示哪些错误消息。

用于验证的函数具有以下设计元素:

  • 验证函数不返回输出或修改程序状态。唯一的目的是检查输入值的有效性。

  • 验证函数必须接受被验证的值作为输入参数。如果函数接受多个输入参数,则第一个输入是要验证的值。

  • 验证函数只依赖于输入。该函数没有其他可用值。

  • 如果验证失败,验证函数将抛出错误。使用throwAsCaller抛出异常可避免在显示的错误消息中显示验证函数本身。

当您想要提供无法使用MATLAB验证函数的特定验证时,创建自己的验证函数非常有用。您可以在函数文件中作为局部函数创建验证函数,也可以将其放置在MATLAB路径中。为避免错误消息合流,不要在用户定义的验证函数中使用函数参数验证。

例如,mustBeRealUpperTriangular函数将输入限制为实值上三角矩阵。验证函数使用istriu伊斯雷尔功能。

函数mustBeRealUpperTriangular (a)如果~(istriu(a) && isreal(a)) eidType =“mustBeRealUpperTriangular: notRealUpperTriangular”;msgType =输入必须是一个实值的上三角矩阵;throwAsCaller (MException (eidType, msgType))结束结束

如果输入参数不是正确的类型,则函数抛出错误。

A = [1 2 3+2i;0 2 3;0 0 1];mustBeRealUpperTriangular (a)
输入必须是一个实值的上三角矩阵。

相关的话题