exponenta event banner

mustBeNonnegative

Подтвердите то значение, является неотрицательным

Синтаксис

Описание

пример

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

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

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

Примеры

свернуть все

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

randn функция создает нормально распределенные случайные числа.

A = randn(1,5);

Подтвердите это, случайные числа являются неотрицательными.

mustBeNonnegative(A)
Error using mustBeNonnegative (line 14)
Value must be nonnegative.

Этот класс ограничивает значение Prop1 к неотрицательным значениям.

classdef MyClass
   properties
      Prop1 {mustBeNonnegative}
   end
end

Создайте объект и присвойте значение его свойству.

obj = MyClass;
obj.Prop1 = -10;
Error using mustBeNonnegative (line 14)
Value must be nonnegative.

Когда вы присваиваете значение свойству, MATLAB вызывает mustBeNonnegative со значением, присваиваемым свойству. mustBeNonnegative выдает ошибку потому что значение -10 отрицательно.

Эта функция объявляет два входных параметра. Введите lower должен быть не быть положительным и вход upper mustBePositive.

function r = mbNonnegative(lower,upper)
    arguments
        lower {mustBeNonpositive}
        upper {mustBeNonnegative}
    end
    x = lower*pi:upper*pi;
    r = sin(x);
end

Вызывание функции со значением для upper это не удовлетворяет требования mustBeNonnegative заканчивается ошибка.

r = mbNonnegative(-12,-4);
Error using mbNonnegative
 r = mbNonnegative(-12,-4);
                       ↑
Invalid input argument at position 2. Value must be nonnegative.

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

свернуть все

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

Пример: value = 1 не генерирует ошибку.

Советы

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

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

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

Введенный в R2017a