mustBeNonzero

Подтвердите то значение, является ненулевым, или выдать ошибку

Синтаксис

Описание

пример

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

mustBeNonzero принимает пользовательские объекты, если класс объекта реализует эти методы:

Примеры

свернуть все

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

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

A = sin([-1,0,1]);
msutBeNonzero(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.

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

свернуть все

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

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

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

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

Введенный в R2017a