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