mustBeNumericOrLogical

Подтвердите то значение, является числовым или логическим, или выдать ошибку

Описание

пример

mustBeNumericOrLogical(value) выдает ошибку если value не является числовым или логическим. Эта функция не возвращает значение.

mustBeNumericOrLogical принимает пользовательские объекты, если класс объекта реализует эти методы:

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

Примеры

свернуть все

Подтвердите это, значение свойства объекта является числовым или логическим значением.

a = axes;
mustBeNumericOrLogical(a.Visible)
Error using mustBeNumericOrLogical (line 11)
Values must be numeric or logical.

В этом случае, значение Visible свойством является char вектор, который приводит к ошибке.

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

classdef MyClass
   properties
      Prop1 {mustBeNumericOrLogical}
   end
end

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

obj = MyClass;
obj.Prop1 = get(gca,'Visible');
Error setting 'Prop1' property of 'MyClass' class:
Values must be numeric or logical.

Когда вы присваиваете значение свойству, MATLAB® вызывает mustBeNumericOrLogical со значением, присваиваемым свойству. mustBeNumericOrLogical выдает ошибку, потому что значение присвоило Prop1 char вектор.

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

function r = mbNumericOrLogical(x)
    arguments
        x (1,:) {mustBeNumericOrLogical}
    end
    p = [3 2 1];
    r = polyval(p,x);
end

Вызывание этой функции с вектором символов приводит к ошибке, будучи выданным mustBeNumericOrLogical.

x = '4 3 2';
r = mbNumericOrLogical(x);
Error using mbNumericOrLogical
Invalid input argument at position 1. Value must be numeric or logical.

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

свернуть все

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

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical
Поддержка комплексного числа: Да

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

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

Введенный в R2017a