MATLAB 帮助中心
本页翻译不是最新的。点击此处可查看最新英文版本。
验证值为数值或逻辑值
mustBeNumericOrLogical(value)
如果 value 不是数值或逻辑值,mustBeNumericOrLogical(value) 将引发错误。此函数不返回值。
value
mustBeNumericOrLogical 调用以下函数来确定输入是否为数值或逻辑值:
mustBeNumericOrLogical
isnumeric
islogical
此函数忽略输入参量中的空值。因此,当属性或函数参量值为空时,不会引发错误。
示例
全部折叠
验证对象属性的值为数值或逻辑值。
a = lettersPattern; mustBeNumericOrLogical(a)
Value must be numeric or logical.
在此例中,a 属性的值是 pattern 对象,因而生成了错误。
a
pattern
此类将 Prop1 的值限制为数值。
Prop1
classdef MyClass properties Prop1 {mustBeNumericOrLogical} end end
创建一个对象,并向其属性赋值。
obj = MyClass; obj.Prop1 = gca;
Error setting property 'Prop1' of class 'MyClass'. Value must be numeric or logical.
当您向属性赋值时,MATLAB® 会使用赋给属性的值调用 mustBeNumericOrLogical。mustBeNumericOrLogical 将引发错误,因为赋给 Prop1 的值是一个 char 向量。
char
此函数将输入参量限制为数值或逻辑向量。
function r = mbNumericOrLogical(x) arguments x (1,:) {mustBeNumericOrLogical} end p = [3 2 1]; r = polyval(p,x); end
使用字符向量调用该函数会导致 mustBeNumericOrLogical 引发错误。
x = '4 3 2'; r = mbNumericOrLogical(x);
Error using mbNumericOrLogical (line 3) r = mbNumericOrLogical(x); ^ Invalid argument at position 1. Value must be numeric or logical.
要验证的值,指定为标量或由以下任一类型的值组成的数组:
logical 或数值类
logical
实现 isnumeric 或 islogical 的 MATLAB 类
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical 复数支持: 是
single
double
int8
int16
int32
int64
uint8
uint16
uint32
uint64
mustBeNumericOrLogical 用于属性和函数参量验证。
全部展开
mustBeNumericOrLogical 函数完全支持 GPU 数组。要在 GPU 上运行该函数,请将输入数据指定为 gpuArray (Parallel Computing Toolbox)。有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
gpuArray
此函数完全支持分布式数组。有关详细信息,请参阅使用分布式数组运行 MATLAB 函数 (Parallel Computing Toolbox)。
在 R2017a 中推出
arguments | isnumeric | islogical | mustBeNumeric | mustBeSparse
arguments
mustBeNumeric
mustBeSparse
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处