exponenta event banner

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
Invalid input argument at position 2. Value must be positive.

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

свернуть все

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

Совет

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

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

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

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