isreal
确定数组是否使用复数存储
说明
示例
确定矩阵是否包含所有实数值
定义一个 3×4 矩阵 A
。
A = [7 3+4i 2 5i;... 2i 1+3i 12 345;... 52 108 78 3];
确定数组是否为实数组。
tf = isreal(A)
tf = logical
0
因为 A
包含复数元素,所以 isreal
返回 false。
定义具有零值虚部的复数
使用 complex
函数创建一个具有零值虚部的标量 A
。
A = complex(12)
A = 12.0000 + 0.0000i
确定 A
是否为实数。
tf = isreal(A)
tf = logical
0
A
不是实矩阵,因为它具有虚部,即使虚部的值为 0
也是如此。
确定 A
是否包含任何具有零值虚部的元素。
~any(imag(A))
ans = logical
1
A
包含具有零值虚部的元素。
生成零值虚部的计算
定义两个复数标量 x
和 y
。
x=3+4i; y=5-4i;
确定两个复数标量 x
和 y
的和是否为实数。
A = x+y
A = 8
MATLAB® 将丢弃零虚部。
isreal(A)
ans = logical
1
A
是实矩阵,因为它不包含虚部。
查找元胞数组中的实数元素
创建一个元胞数组。
C{1,1} = pi; % double C{2,1} = 'John Doe'; % char array C{3,1} = 2 + 4i; % complex double C{4,1} = ispc; % logical C{5,1} = magic(3); % double array C{6,1} = complex(5,0) % complex double
C=6×1 cell array
{[ 3.1416]}
{'John Doe' }
{[2.0000 + 4.0000i]}
{[ 0]}
{3x3 double }
{[5.0000 + 0.0000i]}
C
是一个 1×6 元胞数组。
遍历元胞数组中的元素以区分实数元素和复数元素。
for k = 1:6 x(k,1) = isreal(C{k,1}); end x
x = 6x1 logical array
1
1
0
1
1
0
除了 C{3,1}
和 C{6,1}
外,其他所有数组都为实数数组。
输入参数
A
— 输入数组
标量 | 向量 | 矩阵 | 多维数组
输入数组,指定为标量、向量、矩阵或多维数组。
对于数值数据类型,如果
A
没有虚部,则isreal
返回true
;如果A
有虚部,则isreal
返回false
。对于
duration
、calendarDuration
、logical
和char
数据类型,isreal
始终返回true
。对于
string
、table
、cell
、struct
、datetime
、function_handle
和object
数据类型,isreal
始终返回false
。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
| string
| struct
| table
| cell
| datetime
| duration
| calendarDuration
| function_handle
复数支持: 是
提示
要检查数组
A
的每个元素是否为实数,请使用A == real(A)
。isreal(complex(A))
始终返回false
,即使在虚部均为零时也是如此。~isreal(x)
检测数组是否具有虚部,即使虚部全部为零也会认为虚部存在。
扩展功能
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。
HDL 代码生成
使用 HDL Coder™ 为 FPGA 和 ASIC 设计生成 VHDL、Verilog 和 SystemVerilog 代码。
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
GPU 数组
通过使用 Parallel Computing Toolbox™ 在图形处理单元 (GPU) 上运行来加快代码执行。
isreal
函数完全支持 GPU 数组。要在 GPU 上运行该函数,请将输入数据指定为 gpuArray
(Parallel Computing Toolbox)。有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
分布式数组
使用 Parallel Computing Toolbox™ 在集群的组合内存中对大型数组进行分区。
此函数完全支持分布式数组。有关详细信息,请参阅使用分布式数组运行 MATLAB 函数 (Parallel Computing Toolbox)。
版本历史记录
在 R2006a 之前推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)