Main Content

mustBeNonzero

验证值为非零

说明

示例

如果 value 为零,mustBeNonzero(value) 将引发错误。此函数不返回值。

mustBeNonzero 调用以下函数来确定输入是否不为零:

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

示例

全部折叠

使用 mustBeNonzero 验证输入不包含零值。

A 是经以下计算而得出的一个数值数组:

A = sin([-1,0,1]);
mustBeNonzero(A)
Value must not be zero.

此类将 Prop1 的值限制为非零值。

classdef MyClass
   properties
      Prop1 {mustBeNonzero}
   end
end

创建一个对象,并向其属性赋值。

obj = MyClass;
obj.Prop1 = sin([-1,0,1]);
Error setting property 'Prop1' of class 'MyClass':
Value must not be zero.

当您向属性赋值时,MATLAB 会使用赋给属性的值调用 mustBeNonzeromustBeNonzero 将引发错误,因为值 A 中的其中一个值为零。

此函数声明两个输入参数。输入 A 必须为数值向量,输入 offset 必须为不等于零的标量。

function r = mbNonzero(A,offset)
    arguments
        A {mustBeNumeric}
        offset (1,1) {mustBeNonzero}
    end
    r = A + offset;
end

使用等于零的 offset 值调用该函数不满足 mustBeNonzero 的要求,并会引发错误。

A = [12.7, 45.4, 98.9, 77.1, 53.1];
r = mbNonzero(A,0);
Error using mbNonzero
 r = mbNonzero(A,0);
                 ↑
Invalid input argument at position 2. Value must not be zero.

输入参数

全部折叠

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

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
复数支持:

提示

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

扩展功能

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

版本历史记录

在 R2017a 中推出