Main Content

mustBeReal

验证值是实数

说明

示例

如果 value 不是实数,mustBeReal(value) 将引发错误。此函数不返回值。

mustBeReal 调用以下函数来确定输入是否为实数:

支持的类:重载 isreal 的所有数值类、logical 和 MATLAB® 类。

此函数忽略输入参数中的空值。因此,当属性或函数参数值为空时,不会引发错误。

示例

全部折叠

使用 mustBeReal 验证输入是实数。

验证计算结果是实数。

x = -2:2;
z = x.^exp(-x.^2);
mustBeReal(z)
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 会使用赋给属性的值调用 mustBeRealmustBeReal 将引发错误,因为赋给 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
 r = mbReal(z);
            ↑
Invalid input argument at position 1. Value must be real.

输入参数

全部折叠

要验证的值,指定为标量或由以下任一类型的值组成的数组:

其他数据类型会导致错误。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
复数支持:

提示

  • mustBeReal 用于属性和函数参数验证。

扩展功能

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

版本历史记录

在 R2017a 中推出