属性验证功能
MATLAB验证功能
MATLAB®定义函数用于属性验证。这些功能支持常见的使用模式进行验金宝app证,并提供描述性的错误消息。下面的表MATLAB验证功能分类和描述其使用。
数值属性
的名字 |
意义 |
功能要求输入 |
---|---|---|
|
||
|
||
|
||
|
||
|
|
|
|
|
|
|
||
|
||
|
|
|
|
||
|
与其他值
的名字 |
意义 |
功能要求输入 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
数据类型
的名字 |
意义 |
功能要求输入 |
---|---|---|
|
|
使用类定义关系 |
|
||
|
||
|
|
|
|
|
大小
的名字 |
意义 |
功能要求输入 |
---|---|---|
|
||
|
价值 必须是一个标量或是空的。 |
|
|
价值 必须是一个向量。 |
会员和范围
的名字 |
意义 |
功能要求输入 |
---|---|---|
|
|
|
|
价值 一定范围内。 |
文本
的名字 |
意义 |
功能要求输入 |
---|---|---|
|
|
|
|
路径 必须把一个文件夹。 |
|
|
不适用 |
|
|
|
不适用 |
|
不适用 | |
|
varname 必须是一个有效的变量名。 |
验证属性使用函数
使用属性验证函数在类定义对特定属性值的限制。验证函数接受一个潜在的属性值作为参数,问题一个错误如果值不符合特定的要求实施的功能。
在验证过程中,MATLAB将值传递给每个验证函数中列出的类定义。MATLAB调用每个函数从左至右,遇到的第一个错误。值传递到验证功能是任何转换的结果应用的类和尺寸规格。有关类的更多信息和尺寸验证,看看属性类和尺寸验证。
MATLAB验证函数的列表,请参阅MATLAB验证功能。
验证函数的语法
验证函数指定为一个以逗号分隔的函数名或函数调用参数,包含在括号。
classdefMyClass属性道具{fcn1, fcn2,…}= defaultValue结束结束
MATLAB将潜在属性值传递到隐式验证函数。然而,如果验证函数需要输入参数除了潜在的属性值,那么你必须包括属性和额外的参数。附加参数必须文字值,不能引用变量。文字值nonsymbolic表示,如数字和文本。
例如,考虑函数mustBeGreaterThan
。它需要一个极限值作为输入参数。这个验证函数需要一个属性值必须大于这个极限值。
将房地产作为第一个参数传递。使用属性名,但在引号不封闭的名字。这个属性定义限制道具
值大于10
。
属性道具{mustBeGreaterThan(道具,10)}结束
使用验证函数
下面的类为每个属性指定验证函数。
数据
必须是一个数字,有限的。插值函数
必须列出的三个选项之一。为这个属性指定一个默认值来满足这个要求。
classdefValidatorFunction属性数据{mustBeNumeric, mustBeFinite}插值函数{mustBeMember(插值函数,{“线性”、“立方”、“花键”})}=“线性”结束结束
创建一个默认的对象的类显示了初始值。
一个= ValidatorFunction
a = ValidatorFunction属性:数据:[]插值函数:“线性”
赋值属性调用验证功能。
一个。Data =“立方”
错误设定属性的数据类“ValidatorFunction”:值必须为数字。
因为数据
属性验证不包括数字类,没有转换的字符
向量数值。如果你改变的验证数据
属性来指定类双
,MATLAB转换字符
向量,双
数组中。
属性数据双{mustBeNumeric, mustBeFinite}结束
的赋值字符
矢量不会产生一个错误,因为MATLAB转换字符
向量类双
。
一个。Data =“立方”
a = ValidatorFunction属性:数据:[99 117 98 105 99]插值函数:“线性”
赋值的插值函数
属性需要一个精确匹配。
一个= ValidatorFunction;一个。插值函数=“铜”
错误设置属性的插值函数类“ValidatorFunction”:值必须是这组线性立方样条的成员
使用枚举类提供了不精确匹配和不区分大小写。
枚举类不精确匹配
属性验证使用枚举类提供了这些优势:
为明确的不准确、不区分大小写匹配字符或字符串向量标量
不精确的匹配转换成正确的值
例如,假设您定义InterpMethod
的枚举类插值函数
属性的有效性。
classdefInterpMethod枚举线性立方样条结束结束
改变插值函数
属性验证使用InterpMethod
类。
classdefValidatorFunction属性数据{mustBeNumeric, mustBeFinite}插值函数InterpMethod结束结束
分配一个值匹配的前几个字母“立方”
。
一个= ValidatorFunction;一个。插值函数=“铜”
a = ValidatorFunction属性:数据:[]插值函数:立方
定义验证函数
验证功能是普通设计的MATLAB函数验证属性的特定目的和函数参数值。函数用于验证属性:
接受潜在的属性值作为输入参数
没有返回值
如果验证失败抛出错误
创建自己的验证函数是非常有用的,当你想提供特定的验证,使用MATLAB验证功能不可用。您可以创建本地函数在类文件或地方在MATLAB函数路径可以使用在任何类。
例如,ImgData
类使用一个本地函数定义一个验证器,限制了数据
属性只uint8
或uint16
值,不包括子类和不允许从其他数字转换类。预定义的验证函数mustBeInRange
限制允许的范围值。
classdefImgData属性数据{mustBeImData(数据),mustBeInRange(0255年数据)}= uint8 (0)结束结束函数mustBeImData (a)%检查特定的类如果~ (isa (,“uint8”)| | isa (,“uint16”))eidType =“ImData: notUint8OrUint16”;msgType =的值分配给数据属性必须uint8或uint16数据。”;throwAsCaller (MException (eidType, msgType))结束结束
当您创建的实例ImgData
类,MATLAB验证默认值是一个uint8
或uint16
值,范围255年0…
,而不是空的。注意,默认值必须满足验证需求像任何其他值分配给该财产。
一个= ImgData
a = ImgData属性:数据:0
按从左到右的顺序属性赋值调用验证器。分配一个字符
向量的数据
属性会导致抛出一个错误mustBeImData
。
一个。Data =“红色”;
错误设定属性的数据类“ImgData”。值分配给数据属性不是uint8或uint16数据。
分配一个数值的范围会导致抛出一个错误mustBeInRange
。
一个。Data = uint16 (312);
错误设定属性的数据类“ImgData”。值必须大于或等于0,和小于或等于255。
相关功能,请参阅mustBeInteger
,mustBeNumeric
,mustBePositive
。