MATLAB 帮助中心
验证值为正
mustBePositive(value)
如果 value 不是正值,mustBePositive(value) 将抛出错误。大于零的实数数值即为正值。此函数不返回值。
value
mustBePositive 调用以下函数来确定输入是否不为正值:
mustBePositive
isreal
isnumeric 或 islogical
isnumeric
islogical
gt
支持的类:重载 mustBePositive 调用的函数的所有数值类、logical 和 MATLAB® 类。
logical
此函数忽略输入参量中的空值。因此,当属性或函数参量值为空时,不会抛出错误。
示例
全部折叠
使用 mustBePositive 验证输入只包含正值。
rand 函数用于创建均匀分布的随机数。
rand
A = rand(1,5) -0.5;
验证数组元素为正。
mustBePositive(A)
Value must be positive.
从 rand 返回的数组减去 0.5 所得的结果可能包含负数值。当值为负时,mustBePositive 将引发错误。
0.5
该类将 Prop1 的值限制为正值。
Prop1
classdef MyClass properties Prop1 {mustBePositive} end end
创建一个对象,并向其属性赋值。
obj = MyClass; obj.Prop1 = 0;
Error setting property 'Prop1' of class 'MyClass'. Value must be positive.
当您向属性赋值时,MATLAB 会使用赋给属性的值调用 mustBePositive。mustBePositive 将引发错误,因为值 0 不为正。
0
此函数声明两个输入参量。输入 A 必须为数值向量。输入 ix 必须为正整数。
A
ix
function r = mbPositive(A,ix) arguments A (1,:) {mustBeNumeric} ix {mustBePositive, mustBeInteger} end r = A(ix); end
使用不满足 mustBePositive 要求的 ix 值调用该函数会引发错误。
A = 1:10; ix = 0; r = mbPositive(A,ix);
Error using mbPositive (line 4) r = mbPositive(A,ix); ^^ Invalid argument at position 2. Value must be positive.
要验证的值,指定为标量或由以下任一类型的值组成的数组:
logical 或数值类
实现 gt、isreal 以及 isnumeric 或 islogical 的 MATLAB 类
mustBePositive 用于属性和函数参量验证。
全部展开
mustBePositive 函数完全支持 GPU 数组。要在 GPU 上运行该函数,请将输入数据指定为 gpuArray (Parallel Computing Toolbox)。有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
gpuArray
此函数完全支持分布式数组。有关详细信息,请参阅使用分布式数组运行 MATLAB 函数 (Parallel Computing Toolbox)。
在 R2017a 中推出
arguments | mustBeNumericOrLogical | mustBeReal | mustBeNonnegative | mustBeNonzero
arguments
mustBeNumericOrLogical
mustBeReal
mustBeNonnegative
mustBeNonzero
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 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处