mustBeNonzero

Проверьте, что значение ненулевое

Синтаксис

Описание

пример

mustBeNonzero(value) выдает ошибку, если value равен нулю. Эта функция не возвращает значение.

mustBeNonzero вызывает эти функции, чтобы определить, не является ли вход нулем:

Поддержка классов: Все числовые классы, logical, и MATLAB® классы, которые перегружают функции, вызываемые mustBeNonzero.

Примеры

свернуть все

Использование mustBeNonzero чтобы подтвердить, что вход не содержит значений, которые равны нулю.

A - массив чисел, который является результатом вычисления:

A = sin([-1,0,1]);
mustBeNonzero(A)
Error using mustBeNonzero (line 14)
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 вызывает mustBeNonzero со значением, назначенным свойству. mustBeNonzero выдает ошибку, поскольку одно из значений в 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
Invalid input argument at position 2. Value must not be zero.

Входные параметры

свернуть все

Значение для проверки, заданное как скаляр или массив из одного из следующих:

  • logical или числового класса

  • Классы MATLAB, которые реализуют eq, и либо isnumeric или islogical

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
Поддержка комплексного числа: Да

Совет

  • mustBeNonzero предназначен для использования в валидацию аргументов свойства и функции.

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.
Введенный в R2017a