mustBeReal

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

Синтаксис

Описание

пример

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

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

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

Примеры

свернуть все

Используйте mustBeReal чтобы подтвердить это, вход является вещественным числом.

Подтвердите это, вычисление приводит к вещественным числам.

x = -2:2;
z = x.^exp(-x.^2);
mustBeReal(z)
Error using mustBeReal (line 13)
values must be real.

Значение z является комплексным.

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

classdef MyClass
   properties
      Prop1 {mustBeReal}
   end
end

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

x = -2:0.1:2;
obj = MyClass;
obj.Prop1 = x.^exp(-x.^2);
Error setting 'Prop1' property of 'MyClass' class:
values must be real.

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

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

function r = mbReal(z)
    arguments
        z (1,1) {mustBeReal}
    end
    r = randi(9,z);
end

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

x = -1;
z = x.^exp(-x.^2);
r = mbReal(z);
Error using mbReal
Invalid input argument at position 1. Value must be real.

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

свернуть все

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

  • logical'char', или числовой класс

  • Классы MATLAB та реализация isreal

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

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

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

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

Введенный в R2017a