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 
 r = mbInteger(A,idx);
                 ↑
Invalid input argument at position 2. Value must be integer.

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

свернуть все

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

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

Советы

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

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

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

Введенный в R2017a