mustBeReal

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

Синтаксис

Описание

пример

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

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

Поддержка классов: Все числовые классы, logical, и MATLAB® классы, которые перегружают isreal.

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

Примеры

свернуть все

Использование 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
Поддержка комплексного числа: Да

Совет

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

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

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

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