Main Content

mustBePositive

验证值为正

说明

示例

如果 value 不是正值,mustBePositive(value) 将引发错误。大于零的实数数值即为正值。此函数不返回值。

mustBePositive 调用以下函数来确定输入是否不为正值:

支持的类:重载 mustBePositive 调用的函数的所有数值类、logical 和 MATLAB® 类。

此函数忽略输入参数中的空值。因此,当属性或函数参数值为空时,不会引发错误。

示例

全部折叠

使用 mustBePositive 验证输入只包含正值。

rand 函数用于创建均匀分布的随机数。

A = rand(1,5) -0.5;

验证数组元素为正。

mustBePositive(A)
Error using mustBePositive
Value must be positive.

rand 返回的数组减去 0.5 所得的结果可能包含负数值。当值为负时,mustBePositive 将引发错误。

该类将 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 会使用赋给属性的值调用 mustBePositivemustBePositive 将引发错误,因为值 0 不为正。

此函数声明两个输入参数。输入 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
 r = mbPositive(A,ix)
                  ↑
Invalid input argument at position 2. Value must be positive.

输入参数

全部折叠

要验证的值,指定为标量或由以下任一类型的值组成的数组:

提示

  • mustBePositive 用于属性和函数参数验证。

扩展功能

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

版本历史记录

在 R2017a 中推出