mustBeInteger

Проверьте, что значение целое

Синтаксис

Описание

пример

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

mustBeInteger вызывает эти функции, чтобы определить, value является целым числом:

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

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

Примеры

свернуть все

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

A = randi(9)/randi(9);
mustBeInteger(A)
Error using mustBeInteger (line 14)
Values must be integer.

Если результат деления двух случайных целых чисел содержит дробную часть, mustBeInteger выдает ошибку.

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

classdef MyClass
   properties
      Prop1 {mustBeInteger}
   end
end

Создайте объект и присвойте значение его свойству. Результат деления двух случайных целых чисел может привести к целому числу или числу с дробной частью.

obj = MyClass;
obj.Prop1 = randi(9)/randi(9);
Error setting 'Prop1' property of 'MyClass' class:
Value must be integer.

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

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

function r = mbInteger(A,idx)
    arguments
        A (1,:) {mustBeNumeric}
        idx (1,1) {mustBeInteger}
    end
    r = A(idx).^2;
end

Вызов этой функции с нецелым значением приводит к ошибке, выдаваемой mustBeInteger. Результат деления двух случайных целых чисел может привести к целому числу или числу с дробной частью.

idx = randi(9)/randi(9);
A = rand(1,10);
r = mbInteger(A,idx);
Error using mbInteger
Invalid input argument at position 2. Value must be integer.

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

свернуть все

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

Другие типы данных вызывают ошибку.

Совет

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

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

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

.
Введенный в R2017a