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
 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++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Введенный в R2017a