mustBePositive

Подтвердите то значение, положительно

Синтаксис

Описание

пример

mustBePositive(value) выдает ошибку если value не положительно. Значения положительны, когда они являются действительными, числовыми, и больше, чем нуль. Эта функция не возвращает значение.

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

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

Эта функция игнорирует входные параметры, которые являются пустыми значениями. Поэтому никакая ошибка не выдана, когда значение аргумента свойства или аргумента функции пусто.

Примеры

свернуть все

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

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

A = rand(1,5) -0.5;

Подтвердите это, элементы массива положительны.

mustBePositive(A)
Error using mustBePositive (line 14)
Value must be positive.

Результат вычитания 0.5 от массива возвращаются rand может содержать отрицательные числа. Когда значение отрицательно, mustBePositive выдает ошибку.

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

classdef MyClass
   properties
      Prop1 {mustBePositive}
   end
end

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

obj = MyClass;
obj.Prop1 = 0;
Error setting property 'Prop1' of class 'MyClass':
Value must be positive.

Когда вы присваиваете значение свойству, MATLAB вызывает mustBePositive со значением, присваиваемым свойству. mustBePositive выдает ошибку потому что значение 0 не положительно.

Эта функция объявляет два входных параметра. Введите A должен быть числовой вектор. Введите ix должно быть положительное целое число.

function r = mbPositive(A,ix)
    arguments
        A (1,:) {mustBeNumeric}
        ix {mustBePositive, mustBeInteger}
    end
    r = A(ix);
end

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

A = 1:10;
ix = 0;
r = mbPositive(A,ix);
Error using mbPositive
 r = mbPositive(A,ix)
                  ↑
Invalid input argument at position 2. Value must be positive.

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

свернуть все

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

Советы

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

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

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

Введенный в R2017a