exponenta event banner

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.

Входные аргументы

свернуть все

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

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

Совет

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

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

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.
Представлен в R2017a